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

时间:2018-07-05 21:41:22

标签: point-cloud-library sift keypoint

我是PCL和SIFT3D的新手。当我使用feature_demo.cpp评估关键点时,我注意到如果点云是XYZRGB,则可以通过正确设置某些参数来检测关键点。但是,如果点云是没有RGB通道的XYZ,则无论我尝试了什么参数,我都无法获得任何关键点。 我尝试的数据集是milk_cartoon_all_small_clorox.pcd,它是XYZRGB数据。如果将其转换为XYZ,则无法检测到关键点。还尝试了从bunny.ply转换而来的斯坦福bunny000.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);
}

1 个答案:

答案 0 :(得分:0)

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

很抱歉,我对PCL也很陌生。