我必须使用点云库访问点云中点的颜色属性。任何帮助都是非常感谢的。
目前,我使用这个来显示cloud.But,它只显示红色、蓝色、绿色,而不是对象的实际颜色。
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer (
new pcl::visualization::PCLVisualizer ("3D Viewer")
);
viewer->setBackgroundColor (0, 0, 0);
pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZRGB> rgb(cloud);
viewer->addPointCloud<pcl::PointXYZRGB> (cloud, rgb, "sample cloud");
viewer->setPointCloudRenderingProperties (
pcl::visualization::PCL_VISUALIZER_POINT_SIZE
, 3
, "sample cloud"
);
viewer->addCoordinateSystem (1.0);
viewer->initCameraParameters ();发布于 2015-02-12 11:59:19
在我看来,您的代码看起来不错,您是如何设置云的颜色的?
pcl::PointCloud<pcl::PointXYZRGB>::Ptr point_cloud_ptr (new pcl::PointCloud<pcl::PointXYZRGB>);
pcl::PointXYZRGB point;
// ...
uint32_t rgb = (static_cast<uint32_t>(255) << 16 |
static_cast<uint32_t>(15) << 8 |
static_cast<uint32_t>(15));
point.rgb = *reinterpret_cast<float*>(&rgb);
point_cloud_ptr->points.push_back(point);https://stackoverflow.com/questions/28461443
复制相似问题