, когда он работает на sor.filter(). программа выглядит как повешенная. и никаких ошибок.pcl :: StatOutlierRemoval не может работать
Я считаю, что это что-то не так с файлом pcd. Потому что он хорошо работает с данными pcd, предоставленными PCL. Мой файл pcd был сохранен из Kinect2. Но я не могу найти разницу между ними.
boost::shared_ptr<pcl::PointCloud<pcl::PointXYZ> > cloud(new pcl::PointCloud<pcl::PointXYZ>);
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(
new pcl::visualization::PCLVisualizer("Point Cloud Viewer"));
viewer->setCameraPosition(0.0, 0.0, -2.5, 0.0, 0.0, 0.0);
pcl::io::loadPCDFile("table_scene_lms400.pcd",*cloud);
//pcl::io::loadPCDFile("test.pcd",*cloud);
pcl::StatisticalOutlierRemoval<pcl::PointXYZ> sor;
sor.setMeanK(50);
sor.setStddevMulThresh(1);
pcl::PointCloud <pcl::PointXYZ>::Ptr cloud_filtered(new pcl::PointCloud<pcl::PointXYZ>);
sor.setInputCloud(cloud);
sor.filter(*cloud_filtered);
viewer->addPointCloud(cloud_filtered,"cloud");