ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Halcon 简单入门3D点云盘算高度
[打印本页]
作者:
小秦哥
时间:
2024-6-11 11:20
标题:
Halcon 简单入门3D点云盘算高度
一、简介
入门级别的学习,就是简单的盘算一个高度差,其原理如下:
1、先选出上面一个面的点,然后盘算出在一个坐标系想的均值高度
2、筛选出下面一个面的点,然后盘算出这个平面上的点的均值高度
3、高度差
4、表现
二、代码表现
*1读入点云数据
read_object_model_3d ('./points.om3', 'mm', [], [], ObjectModel3D, Status)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
visualize_object_model_3d (WindowHandle, ObjectModel3D, [], [], ['lut','color_attrib','disp_pose'], ['color1','coord_z','true'], [], [], [], PoseOut)
*2得到电池表面点云的数据(mm),获得Z轴方向上的点的高度
get_object_model_3d_params (ObjectModel3D, 'point_coord_z', GenParamValue)
* 通过高度来选出那个第一个面上的点
select_points_object_model_3d (ObjectModel3D, 'point_coord_z', 15, 16, ObjectModel3DThresholded)
* 显示 第一个平面的模型
visualize_object_model_3d (WindowHandle, ObjectModel3DThresholded, [], [], ['lut','color_attrib','disp_pose'], ['color1','coord_z','true'], [], [], [], PoseOut1)
*去掉噪点
connection_object_model_3d (ObjectModel3DThresholded, 'distance_3d', 1, ObjectModel3DConnected)
get_object_model_3d_params (ObjectModel3DConnected, 'num_points', GenParamValue1)
* 通过点的个数来选出模型
select_object_model_3d (ObjectModel3DConnected, 'num_points', 'and', 1000, 50000, ObjectModel3DBattery)
visualize_object_model_3d (WindowHandle, ObjectModel3DBattery, [], [], ['lut','color_attrib','disp_pose'], ['color1','coord_z','true'], [], [], [], PoseOut1)
*3得到背景的点云数据集合(mm)
select_points_object_model_3d (ObjectModel3D, 'point_coord_z', 12, 14, ObjectModel3DBackGround)
visualize_object_model_3d (WindowHandle, ObjectModel3DBackGround, [], PoseOut1, ['lut','color_attrib','disp_pose'], ['color1','coord_z','true'], [], [], [], PoseOut2)
*4求电池上表面点云的z坐标值
get_object_model_3d_params (ObjectModel3DBattery, 'point_coord_z', GenParamValue1)
*5求背景表面的点云的z坐标值
get_object_model_3d_params (ObjectModel3DBackGround, 'point_coord_z', GenParamValue2)
*6求电池上表面点云的z坐标的平均值
A:=mean(GenParamValue1)
*7求背景表面点云的z坐标的平均值
B:=mean(GenParamValue2)
*8求电池表面的高度
H:=A-B
Param[0]:='Shift+left button Zoom'
Param[1]:='ctrl+ left button Move'
Param[2]:='left button Rotat'
visualize_object_model_3d (WindowHandle, ObjectModel3D, [], [], ['lut','color_attrib','disp_pose'], ['color1','coord_z','true'], '电池点云的高度为'+H+'mm', 'Battery Object', Param, PoseOut)
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4