SIFT3D可以在XYZ和XYZRGB格式的点云上工作吗?



我是PCL和SIFT3D的新手。当我使用feature_demo.cpp来评估关键点时,我注意到如果点云是XYZRGB,则可以通过正确设置某些参数来检测关键点。但是,如果点云是没有RGB通道的XYZ,则无论我尝试什么参数,我都无法获得任何关键点。 我尝试的数据集:milk_cartoon_all_small_clorox.pcd,这是XYZRGB数据。如果将其转换为 XYZ,则无法检测到关键点。此外,还尝试了由bunny.ply转换而来的斯坦福兔子000.pcd。它没有 RGB,因此没有检测到关键点。我想我因为我的小而错过了一些东西 该领域的知识。

有人能说出一些信息吗?

谢谢

詹姆斯

代码片段:

int keypoints_demo (const char * filename)
{
// Create some new point clouds to hold our data
pcl::PointCloud<pcl::PointXYZRGB>::Ptr points (new pcl::PointCloud<pcl::PointXYZRGB>);
pcl::PointCloud<pcl::PointWithScale>::Ptr keypoints (new pcl::PointCloud<pcl::PointWithScale>);
// Load a point cloud
pcl::io::loadPCDFile (filename, *points);
// Compute keypoints
const float min_scale = 0.01;
const int nr_octaves = 3;
const int nr_octaves_per_scale = 3;
const float min_contrast = 10.0;
detect_keypoints (points, min_scale, nr_octaves, nr_octaves_per_scale, min_contrast, keypoints);
// Visualize the point cloud and its keypoints
visualize_keypoints (points, keypoints);
return (0);
}

您可以参考此链接,其中使用的点云在XYZ format中。

对不起,我帮不上什么忙,因为我也是PCL新手。

最新更新