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。

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

相关推荐
豆沙沙包?3 小时前
C++~~~stack容器、queue容器、list容器(p45-P56)
c++·windows·list
Data_Journal3 小时前
用于网页抓取的 Node-unblocker
大数据·开发语言·数据库·python·scrapy
豆角焖肉3 小时前
SSM 聚合项目搭建:多 Maven 模块项目
开发语言·python·pycharm
Frank_refuel3 小时前
【C++八股】面向对象
开发语言·c++
h_a_o777oah3 小时前
【图论】Tarjan 缩点:解决有向图中环的问题
c++·算法·图论·acm·强连通分量·缩点·tarjan
m0_380743874 小时前
为 OpenAI 兼容接口配置教程
开发语言·python·node.js
万邦科技Lafite5 小时前
阿里巴巴拍立淘按图搜索商品API返回值实践:提升用户购物满意度的关键措施
开发语言·api·开放api·电商开放平台·京东开放平台
别动我齐刘海5 小时前
机器人运动控制学习4——状态估计 State Estimation
c++·人工智能·学习·目标检测·机器学习·机器人·自动驾驶
学习星球5 小时前
OpenHarness 全面配置教学——从游戏开发工作流引入
c++·游戏·ai·ai编程
小小龙学IT6 小时前
Qt 6 跨平台开发完全指南:从信号槽机制到实际项目落地
开发语言·qt