我是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);
}