PCL (Point Cloud Library) は初めてで、ICP を 2 セットのポイントに適用したいだけです。ただし、ICP のオンライン コード サンプルを Visual Studio 2010 64 ビットで実行しようとすると、致命的なエラーがスローされます。点群を作成するさまざまな方法を試しましたが、うまくいきません。icp.setInputTarget
行で、内部で致命的なエラーが発生しましたtarget_ = target.makeShared ();
これは、両方の雲点を作成する方法です
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in (new pcl::PointCloud<pcl::PointXYZ>);
cloud_in->width = _head_width+1;
cloud_in->height = _head_height+1;
cloud_in->is_dense = true;
for(int x=0; x<=width; x++) {
for(int y=0; y<=height; y++) {
float z = depths[x][y];
pcl::PointXYZ curr_point;
curr_point.x = x;
curr_point.y = y;
curr_point.z = z;
cloud_in->points.push_back(curr_point);
}
}
そして、ここでエラーが発生します
pcl::IterativeClosestPoint<pcl::PointXYZ, pcl::PointXYZ> icp;
icp_dummy.setInputCloud(cloud_in);
icp_dummy.setInputTarget(cloud_out); /* This throws a fatal error */
どんな助けでも大歓迎です