基于PCL的三维重建—贪婪投影三角化算法实践与参数设置

本文介绍了基于PCL的贪婪投影三角化算法,用于三维点云的重建。该方法通过点云投影到二维平面,然后进行平面内三角化,通过拓扑关系构建三角网格。算法适合处理多扫描仪数据且适用于表面连续光滑的场景,但对点云密度变化大的情况可能效果有限。核心在于调整setSearchRadius和setMu参数来适应不同pcd文件。
摘要由CSDN通过智能技术生成

贪婪投影三角化算法

主要方法:先将有向点云投影到某一局部二维坐标平面内,再在坐标平面内进行平面内的三角化,再根据平面内三位点的拓扑连接关系获得一个三角网格曲面模型。

主要原理:处理一系列可以使网格“生长扩大”的点(边缘点),延伸这些点直到所有符合几何正确性和拓扑正确性的点都被连上。该算法的优点是可以处理来自一个或者多个扫描仪扫描得到并且有多个连接处的散乱点云。但该算法也有一定的局限性,它更适用于采样点云来自于表面连续光滑的曲面并且点云密度变化比较均匀的情况。

主要代码:

pcl::PolygonMesh triangles;//创建多变形网格,用于存储结果
//设置GreedyProjectionTriangulation对象的参数
	//第一个参数影响很大
	gp3.setSearchRadius(15.0f); //设置连接点之间的最大距离(最大边长)用于确定k近邻的球半径【默认值 0】
	gp3.setMu(5.0f); //设置最近邻距离的乘子,以得到每个点的最终搜索半径【默认值 0】
	gp3.setMaximumNearestNeighbors(100); //设置搜索的最近邻点的最大数量
	gp3.setMaximumSurfaceAngle(M_PI / 4); // 45 degrees(pi)最大平面角
	gp3.setMinimumAngle(M_PI / 18); // 10 degrees 每个三角的最小角度
	gp3.setMaximumAngle(2 * M_PI / 3); // 120 degrees 每个三角的最大角度
	gp3.setNormalConsistency(false); //如果法向量一致,设置为true

	//设置搜索方法和输入点云
	gp3.setInputCloud(cloud_with_normals);
	gp3.setSea
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值