Właśnie zacząłem korzystać z wielkiej biblioteki chmur punktów i chciałem wyświetlać chmury w jednym widoku, ale każdy w innym kolorze.Dodanie dwóch chmur punktów do przeglądarki (biblioteka chmury punktów (PCL))
Kiedy używam jednego obiektu chmury punktów (wskaźnik ?!), działa dobrze, ale jeśli chcę dodać drugi, w przeglądarce zostanie wyświetlony tylko ten drugi.
Używam wersji 1.6 pcl i zrobiłem to prawie tak jak w tym tutorial.
Może masz sugestię.
Odpowiedni fragment kodu znajduje się poniżej. Z góry dziękuję!!!
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();
Czy sprawdziłeś, że nie ładujesz tego samego 'PCD'? –
W rzeczywistości ładuję tylko jeden plik pcd, ale go kopiuję i przenoszę go 10 metrów od innej chmury punktów. copyPointCloud (* chmura, * chmura2);/po skopiowaniu robię cloud2-> sensor_origin_ = p; – GeoGecco
Ok. Następnie spróbuj załadować plik dwukrotnie, zamiast kopiować. Nie sądzę, że to rozwiąże, ale na wszelki wypadek ... –