1

I am new to PCL and SIFT3D. When I use feature_demo.cpp to evaluate keypoints, I noticed that if the point cloud is XYZRGB, keypoints can be detected with certain parameters set properly. However, if the point cloud is XYZ without the RGB channels, I have not been able to get any keypoints no matter what parameters I tried. Data set I tried: milk_cartoon_all_small_clorox.pcd, which is XYZRGB data.If it is converted to XYZ, then keypoints can not be detected. Also the stanford bunny000.pcd, which is converted from bunny.ply, was tried. It has no RGB, so there is no keypoint detected.I guess I have missed something due to my little knowledge in the field.

Can someone shed some light?

Thanks

James

code snippet:

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);
}
SturdyKen
  • 5
  • 4
Cloud Guy
  • 43
  • 2
  • 7

1 Answers1

0

You can refer to this link where the point cloud used is in XYZ format.

Sorry that I cannot help much as I am new to PCL too.

mastisa
  • 1,875
  • 3
  • 21
  • 39
SturdyKen
  • 5
  • 4