Я визуализирую облако точек с помощью PCL Visualizer.
pcl::PCDReader reader;
pcl::PointCloud<pcl::PointXYZRGB>::Ptr inputCloud(new pcl::PointCloud<pcl::PointXYZRGB>);
reader.read<pcl::PointXYZRGB>("test.pcd", *inputCloud);
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("3D Viewer"));
viewer->setBackgroundColor(0, 0, 0);
viewer->addPointCloud<pcl::PointXYZRGB>(inputCloud, "SourceCloud");
while (!viewer->wasStopped())
{
viewer->spinOnce(100);
boost::this_thread::sleep(boost::posix_time::microseconds(100000));
}
В результате облако отображается, но неверно.Точки нарисованы вдоль некоторых линий: Неверный скриншот результата
Вот пример отображения этого облака в другой программе (Bentley Microstation): Правый скриншот результата
Где я ошибаюсь?
Это облако можно скачать по ссылке: Файл PCD Файл XYZ