pcl点云 显示viewer背景显示和PCL坐标系显示

在处理5G大小的点云数据集时,遇到了内存溢出及可视化问题。通过将LAS文件转换为PCD格式,但失去了RGB信息,导致点云在黑色背景下不可见。通过设置点云颜色和背景色,成功解决了可视化问题,并介绍了如何在PCL中显示坐标系。

5个G的数据集,我的天,跑到我电脑内存红了,好不容易跑完,一看聚类结果打印出来了,但是可视化却是一片漆黑,按了r键还是不行,点云是las文件,是一个大型场景,需要做分割,las转为pcd后没有RGB信息,viewer会自动强制将点云变为黑色,如果背景也是黑色,那肯定看不到啊,
//设置点云颜色 pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ>single_color(cloud,0,255,0); //设置背景色 viewer->setBackgroundColor(0,0,0.7)

void 	addCoordinateSystem (double scale, float x, float y, float z, int viewport=0)
 	Adds 3D axes describing a coordinate system to screen at x, y, z. 

红色是X轴,绿色是Y轴,蓝色是Z,也就是说PCL点云库中使用的是右手三维坐标系。
显示坐标系,scale尽量大点
不说了,重新跑了

在QtPCL (Point Cloud Library) 中,显示点云并添加关联坐标轴通常涉及到以下几个步骤: 1. **设置环境**:首先,你需要安装QtPCL库,并配置好开发环境。 2. **读取点云数据**:使用PCL提供的函数,如`pcl::io::loadPCDFile()`从文件加载点云数据到`pcl::PointCloud<pcl::PointXYZ>`或其他适合的数据结构中。 3. **创建Qt界面**:在Qt中创建一个新的窗口或者使用现有的QGLWidget作为渲染视图。你可以使用`QGraphicsView`或`QOpenGLWidget`等。 4. **初始化PCL渲染器**:利用PCL的`pcl::visualization::PCLVisualizer`类创建一个可视化器,用于展示点云坐标轴。 5. **绘制点云**:将点云数据传给`addCloud()`方法,让它在视觉化器上渲染出来。 6. **添加坐标轴**:使用`addCoordinateSystem()`方法,它会在当前的视图中心添加一个三维的坐标系,表示x、y、z轴。 7. **显示与更新**:最后,调用`spinOnce()`方法启动循环渲染过程,这样每次数据有变化时,坐标轴都会随着点云一起更新。 ```cpp // 示例代码片段 pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); if (!pcl::io::loadPCDFile<pcl::PointXYZ>("your_point_cloud_file.pcd", *cloud)) { // 处理加载错误 } pcl::visualization::PCLVisualizer viewer("PointCloud Viewer"); viewer.addPointCloud<pcl::PointXYZ>(*cloud, "cloud"); // 添加点云 // 添加坐标轴 viewer.addCoordinateSystem(0.1f, "axis"); // 参数调整轴线大小 while (!viewer.wasStopped()) { // 主渲染循环 viewer.spinOnce(); } ```
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜是菜人是真帅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值