Я новичок в PCL и SIFT3D. Когда я использую feature_demo.cpp для оценки ключевых точек, я заметил, что если облаком точек является XYZRGB, ключевые точки могут быть обнаружены с определенными параметрами, установленными правильно. Однако, если облако точек - XYZ без каналов RGB, я не смог получить какие-либо ключевые точки независимо от того, какие параметры я пробовал.
Набор данных, который я пробовал: milk_cartoon_all_small_clorox.pcd, который представляет собой данные XYZRGB. Если он преобразуется в XYZ, то ключевые точки не могут быть обнаружены. Также был опробован stanford bunny000.pcd, который конвертируется из bunny.ply. У него нет 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);
}