使用Python,Open3D对点云散点投影到面上并可视化,使用3种方法计算面的法向量及与平均法向量的夹角
写这篇博客源于博友的提问,他坚定了我继续坚持学习的心,带给了我充实与快乐。
将介绍以下5部分:
- 随机生成点云点
- 投影点到面(给出了6个面的中心点,离哪个中心点距离近就投影到哪个面)
- 对投影到每个面的点云计算法向量点(3种方法 KNN 半径近邻 混合近邻)
- 对每个面上的法向量及与平均法向量的夹角
- 可视化原始点及法向量点
- 对每个面角度进行简单统计并绘制直方图(hist)
- 对每个面角度进行分区间统计并绘制直方图(俩种方法 hist df.plot)
- df.plot 支持中文,绘制多行列子图,及共享xy轴,支持图例,图形大小等设置
1. 效果图
1.1 点云点灰色 VS 法向量点绿色 VS 法向量可视化
全量点云点灰色 VS 全量法向量点绿色效果图如下:
投影到每个面的均值点为渲染为红色比较明显。法向量点均值点渲染为黄色这里不太明显,可查看下边每个投影面的效果图;
全量点云点灰色 VS 全量法向量点绿色 VS 法向量可视化 效果图如下: