一、什么是点云置平
有时候,我们处理的点云平面并非位于水平面,而是位于某个任一三维平面上,而大多数算法又只能在水平面处理,或者水平面的点云处理是相对更简单的,所以我们需要做下面的这个处理,将点云旋转到绝对水平的位置,简称为点云置平
(有色点云为原始点云,黑色点云为置平后的点云,这里是从侧面观察,所以平面点云在视觉上形成了一条线。)
在之前的文章中也有这个内容,但当时的处理只能处理特殊情况,这种方法更简单普遍适用。
二、算法流程
第1步:加载点云数据 该代码使用 pcl::io::loadPCDFile 函数从一个PCD文件加载点云数据。
第2步:计算质心 接下来,代码使用 calculatePointCloudCentroid 函数计算点云的质心,然后使点围绕质心居中。
第3步:计算平面的法向量 使用 vvvcom 函数,通过特征分解来找到平面的法向量。
第4步:将平面旋转到水平位置 然后,代码通过找到旋转轴和角度,应用仿射变换将平面旋转到水平位置.
第5步:将转换后的点云写入新文件 最后,使用 pcl::io::savePCDFileASCII 函数将转换后的点云写入新的PCD文件。
这段代码通过使点围绕其质心居中,计算平面的