我目前正在尝试计算两个点集之间的刚性变换,因此我尝试使用 pointclouds.org 上的教程给出的代码:
对于我的情况,我只将随机生成数据的部分更改为加载我要分析的点数据的部分。其他一切都与教程中的完全一样......(我还尝试使用随机数据准确测试教程代码,以防我在读取输入数据时出错)
由于我使用 Qt,我将 PCL 库、Eigen 库和 FLANN 库集成到我的项目中。它找到所有头文件并成功地用 MSVC 2008 编译...
不幸的是,我总是在
icp.setInputTarget(cloud_out);
说:
调试断言失败!程序:... MSVC2008 _Qt_SDK_Release\release\Project.exe 文件:c:\Program Files\Microsoft VIsual Studio 10.0\CV\include\vector 行:1200
表达式:向量擦除迭代器超出范围
[..] ...检查文档... [..]
有人知道那是什么意思吗?输入云都具有相同的大小并具有填充值。
如果有任何帮助,我将不胜感激!
更新 1:
错误消息显示了 MSVC 2010 (10.0) 的一些文件路径......所以我尝试卸载 Visual Studio 2010,因为我真的不需要它。但是,如果我在调试模式下编译,它会向我显示一条错误消息,但是Expression: vector iterators incompatible
...如果我现在在发布模式下运行它,它只会在运行时崩溃(在同一行),但没有显示错误信息。