Я только начал использовать большую облачную облачную библиотеку и хотел отображать два облака точки внутри одного зрителя, но каждый в другом цвете.Добавление двух различных облаков точек для просмотра (Point Cloud Library (PCL))
Когда я использую одноточечный объект облака (указатель ?!), он работает нормально, но если я хочу добавить второй, в средстве просмотра будет отображаться только второй.
Я использую pcl версию 1.6 и сделал это в значительной степени, как в этом tutorial.
Возможно, у вас есть предложение.
Соответствующий фрагмент кода приведен ниже. Заранее спасибо!!!
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer_two_clouds (new pcl::visualization::PCLVisualizer("3D Viewer"));
viewer_two_clouds->setBackgroundColor(0,0,0);
// cloud: green/cloud2: red
pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZRGB> single_color1 (cloud, 0, 255, 0);
pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZRGB> single_color2 (cloud2, 255, 0, 0);
//add both
viewer_two_clouds->addPointCloud<pcl::PointXYZRGB> (cloud, single_color1, "sample_cloud_1");
viewer_two_clouds->addPointCloud<pcl::PointXYZRGB> (cloud2, single_color2, "sample_cloud_2");
// set coordinateSystem and init camera
viewer_two_clouds->addCoordinateSystem(1.0);
viewer_two_clouds->initCameraParameters();
while(!viewer_two_clouds->wasStopped())
{
viewer_two_clouds->spinOnce();
boost::this_thread::sleep (boost::posix_time::microseconds(100000));
}
viewer_two_clouds->close();
Вы проверили, что вы не загружаете тот же «PCD»? –
Я на самом деле загружаю только один pcd, но я копирую его и перемещаю его в 10 метрах от другого облака точек. copyPointCloud (* cloud, * cloud2);/После копирования я облако2-> sensor_origin_ = p; – GeoGecco
Хорошо. Затем попробуйте загрузить файл дважды, а не копировать. Я не думаю, что это решит его, но на всякий случай ... –