【发布时间】:2018-12-14 11:08:54
【问题描述】:
我是 PCL 和 SIFT3D 的新手。当我使用 feature_demo.cpp 评估关键点时,我注意到如果点云是 XYZRGB,则可以通过正确设置某些参数来检测关键点。但是,如果点云是没有 RGB 通道的 XYZ,无论我尝试什么参数,我都无法获得任何关键点。 我试过的数据集:milk_cartoon_all_small_clorox.pcd,是XYZRGB数据。如果转换成XYZ,那么keypoints是检测不到的。还尝试了从 bunny.ply 转换而来的 stanford bunny000.pcd。它没有 RGB,所以没有检测到关键点。我想我错过了一些东西,因为我的小 领域的知识。
有人能解释一下吗?
谢谢
詹姆斯
代码sn-p:
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);
}
【问题讨论】:
标签: point-cloud-library sift keypoint