Halcon 3D通过坐标轴过滤点云数据

第一步,先用MeshLab软件打开ply点云文件,然后点击工具栏的信息按钮,再按空格键切换为点提取模式,用鼠标在要测量的面上拾取点并查看三维坐标,多拾取几个点得到要测量面的大概Z轴范围。
在这里插入图片描述

第二步,使用Halcon读取ply点云文件,通过Z轴范围对点云进行过滤,代码如下:

dev_close_window ()
dev_open_window (0, 0, 400, 500, ‘black’, WindowHandle)
*读取点云ply文件
read_object_model_3d(‘PointCloud_20220815155258886.ply’, ‘mm’, ‘convert_to_triangles’, ‘true’, ObjectModel3D, Status)
*过滤Z轴指定范围内的点
select_points_object_model_3d (ObjectModel3D, ‘point_coord_z’, -0.490, -0.480, ObjectModel3DThresholded)
*拟合平面
fit_primitives_object_model_3d (ObjectModel3DThresholded, [‘primitive_type’,‘fitting_algorithm’], [‘plane’,‘least_squares_tukey’], ObjectModel3DOut)
*获取平面位姿
get_object_model_3d_params (ObjectModel3DOut, ‘primitive_pose’, Pose)
*将点云坐标系转为拟合平面的坐标系
pose_to_hom_mat3d(Pose, HomMat3D)
hom_mat3d_invert(HomMat3D, HomMat3DInvert)
affine_trans_object_model_3d(ObjectModel3DThresholded, HomMat3DInvert, ObjectModel3DAffineTrans)
*显示点云和坐标轴
visualize_object_model_3d (WindowHandle, ObjectModel3DAffineTrans, [], [],
[‘lut’,‘color_attrib’,‘disp_pose’],
[‘color1’,‘coord_z’,‘true’], ‘’, [], [], PoseOut)

最终,显示点云如下:

在这里插入图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值