c++ pcl 选取点云某一点反馈XYZ坐标的代码

看了看以前的代码,有一小段代码很有意思,是关于pcl点云处理的。
如有帮助,点赞收藏关注!!!

读取点云数据,想可视化点云数据,并根据选择,实时显示点云的空间坐标数值。

接下来的代码基于c++ pcl 1.8.1 实现。

cpp 复制代码
	点击点云显示值

	 <显示点云
	pcl::visualization::PCLVisualizer::Ptr viewer(new pcl::visualization::PCLVisualizer("viewer"));
	viewer->addPointCloud(graycloudC, "cloud");
	viewer->setCameraPosition(0, 0, -2, 0, -1, 0, 0);
	// 添加点拾取回调函数
	CallbackArgs  cb_args;
	PointCloudT::Ptr clicked_points_3d(new PointCloudT);
	cb_args.clicked_points_3d = clicked_points_3d;
	cb_args.viewerPtr = pcl::visualization::PCLVisualizer::Ptr(viewer);
	viewer->registerPointPickingCallback(pickPointCallback, (void*)&cb_args);
	
	//按住shift键 + 点击鼠标,可成功选择点云。
	//如果选择不上那就滚动滚轮缩小点云体积,如果还是选择不上,emm那就多尝试两次。
	std::cout << "Shift+click on three floor points, then press 'Q'..." << std::endl;
	viewer->spin();
	
	while (!viewer->wasStopped())
	{
		viewer->spinOnce(100);
	}

效果示例如下:

红点即为我选择的点云点,XYZ坐标为:-110.987,-21.7817, 943

本次示例只选择并显示一个点云点,但点云界面没有关闭时可以一直选取点读数。每次只红色高亮一个点并报一组xyz。

操作完成后,可以关闭点云界面弹窗。代码即可向下继续运行。
如有帮助,点赞收藏关注!!!

相关推荐
bubiyoushang88812 小时前
基于MATLAB的非线性有限元梁扭矩分析实现
开发语言·matlab
No0d1es12 小时前
2025年12月 GESP CCF编程能力等级认证Python二级真题
开发语言·python·青少年编程·gesp·ccf
工程师00713 小时前
C#中的CIL(公共中间语言)
开发语言·c#·中间语言cil
资生算法程序员_畅想家_剑魔13 小时前
Java常见技术分享-29-Jackson JSON处理类详解
java·开发语言·json
论迹13 小时前
【多线程】-- JUC的常见类
java·开发语言·性能优化·多线程·juc
青春不败 177-3266-052013 小时前
python语言生物信息多组学大数据深度挖掘与论文整理技巧
开发语言·python·生物信息·多组学·高通量测序
豆沙沙包?13 小时前
2026年--Lc332-649. Dota2 参议院(队列)--java版
java·开发语言
代码游侠13 小时前
应用——MQTT客户端开发
服务器·c语言·开发语言·数据结构·算法
明洞日记13 小时前
【VTK手册034】 vtkGeometryFilter 深度解析:高性能几何提取与转换专家
c++·图像处理·算法·ai·vtk·图形渲染
暴风鱼划水13 小时前
三维重建【4-C】3D Gaussian Splatting:代码调试方法
c语言·开发语言