0

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 */

どんな助けでも大歓迎です

4

1 に答える 1