双愚pcl代码相关问题

各位大佬好 我遇到了pcl相关方面的问题 用的是win系统 在复现06深度图像边界和16关键点两个代码时都报一样的错 命令行显示Failed to find match for field “vp_x”“vp_y”“vp_z” 请问这是为什么呢?怎么解决呢?

img


具体代码见下文链接:https://www.cnblogs.com/li-yao7758258/p/6476359.html

【以下回答由 GPT 生成】

这个错误是由于代码中使用的点云数据类型和实际使用的数据类型不匹配导致的。 在代码中,作者使用的是pcl::PointXYZRGB类型的点云数据,但是实际的点云数据是pcl::PointXYZ类型的。

为了解决这个问题,我们需要修改代码以匹配实际的点云数据类型。

下面是具体的解决方案:

  1. 打开代码文件main.cpp

  2. 找到使用pcl::PointXYZRGB类型的地方,将其改为pcl::PointXYZ

cpp pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); ... pcl::PointXYZ point; ... cloud_filtered->points[i].x = point.x; cloud_filtered->points[i].y = point.y; cloud_filtered->points[i].z = point.z;

  1. 编译并运行代码,错误应该得到解决。

这个解决方案应该能够解决你遇到的问题。请尝试一下,如果还有其他问题,请随时提问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^