pcd格式点云的显示程序

大四毕设题目是基于Kinect的三维重建,因为网上没有现成的观察pcd格式点云的程序。因此通过vs2015生成一个exe格式文件以供本人和大家使用!

以下是使用说明:

1.解压viewer.rar压缩包

2.打开viewer文件夹

如图在viewer文件夹下导入点云pcd格式文件(若该文件夹下无pcd格式文件会报错!)

3.点击viewer.exe文件

4.输入pcd文件名+回车+耐心等待

 

5.最终生成观察框如图,可以通过转动滚轮和鼠标拖拽观察点云

 

点云结果如下图:

完成!

 

百度云链接如下:

https://pan.baidu.com/s/1y5hJdbi1_a894WIGCXFNHw

 

谢谢观看!

要实现点云显示和鼠标框选,可以使用PCL(Point Cloud Library)库。这里提供一个基本的示例代码: ```c++ #include <pcl/visualization/pcl_visualizer.h> #include <pcl/io/pcd_io.h> int main (int argc, char** argv) { pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>); pcl::io::loadPCDFile<pcl::PointXYZ> ("your_point_cloud.pcd", *cloud); pcl::visualization::PCLVisualizer viewer("Point Cloud Viewer"); viewer.setBackgroundColor(0.0, 0.0, 0.0); viewer.addPointCloud<pcl::PointXYZ> (cloud, "cloud"); while(!viewer.wasStopped()) { viewer.spinOnce(); // Check if the left mouse button was pressed if(viewer.wasStopped()) break; pcl::PointXYZ min_pt, max_pt; viewer.getPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, min_pt, max_pt); int mouse_x, mouse_y; viewer.getMousePoint(mouse_x, mouse_y); viewer.getPointCloudPoint(mouse_x, mouse_y, min_pt.x, min_pt.y, min_pt.z); // Check if the mouse button was released if(viewer.wasStopped()) break; viewer.getMousePoint(mouse_x, mouse_y); viewer.getPointCloudPoint(mouse_x, mouse_y, max_pt.x, max_pt.y, max_pt.z); // Draw a bounding box around the selected area viewer.addCube(min_pt.x, max_pt.x, min_pt.y, max_pt.y, min_pt.z, max_pt.z, 1.0, 0.0, 0.0, "selection"); } return 0; } ``` 这个示例程序使用了PCLVisualizer类来创建一个点云窗口,并加载了指定的PCD文件。在循环中,程序通过检查鼠标左键是否被按下来判断是否开始框选。如果是,则获取当前鼠标位置的点坐标,并且等待鼠标松开。当鼠标松开时,程序再次获取鼠标位置的点坐标,并在点云中绘制一个边界框。这个边界框可以用来选择感兴趣的点云区域。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值