ENSENSO 3D双目相机垂直测量规则物体体积
一.
获取工作:
- 拍摄要点:
- 正上方于物体,视角垂直于背景
- 背景尽量平整,不反光
- 相机高度大于一米以上,这里测试高度在1.5m左右
二.实验工具,环境
-
Python
-
Python_package
-
import numpy import open3d from matplotlib import scipy
-
三.处理过程
-
点云数据以numpy形式保存为.npy文件
-
用CloudCompare查看效果
-
对元数据进行裁剪
- 在不拍到杂乱背景的前提下,裁的越大越好
- 这里选择裁剪为500*500
- 裁剪后
-
寻找点云中最大的平面(Plane_Segmentatio),这里默认背景尺寸大于物体
- 下表面
- 上表面
-
点云离群点去除(去除异常点干扰)
- 这里把这些红色的点作为离群点排除(实际这些不全是离群点,为了展示效果阈值参数比较夸张)
-
还原下表面
- 提取下表面点云的z平均值GroundZavg
- 复制上表面点云,将复制项的点云Z通道值设置为GroundZavg
- 拼接点云
-
物体表面重建,这里是α形状重建(Surface_reconstruction),这一步仅作展示
- scipy.spatial.ConvexHull 的凸包,具有volume接口
- 最小物体框检测(Bounding)
- 红色Box是AABB Box,绿色是OBB Box
- Box可以用作近似体积估算
四.结果
-
测得体积为1141cm^3
-
实际用尺子测量规则物体积估算为1199cm^3
- 测试耗时