Halcon 3D ObjectModel3D生成并可视化显示

读取点云数据并显示

read_object_model_3d ('tile_spacer', 'm', [], [], ObjectModel3D, Status)
dev_get_window (WindowHandle)
visualize_object_model_3d (WindowHandle, ObjectModel3D, [], [], ['lut','color_attrib'], ['color1','coord_z'], [], [], [], PoseOut)

设置点云图像在Z方向上进行着色显示

在这里插入图片描述

生成3d object对象的几种方式

gen_object_model_3d_from_points (PoseOut, PoseOut, PoseOut, ObjectModel3D1)
xyz_attrib_to_object_model_3d (, , , , '&gray', ObjectModel3D2)
read_object_model_3d ('tile_spacer', 'm', [], [], ObjectModel3D, Status)

使用深度图 创建3d object

dev_get_window (WindowHandle)
read_image (Image, 'C:/Users/13509/Desktop/铆接盖板焊脉.tif')

get_image_size (Image, Width, Height)
resolutionX := 0.012
resolutionY := 0.012
resolutionZ := 0.0008

convert_image_type (Image, ImageReal, 'real')
scale_image (ImageReal, ImageZ, resolutionZ, 0)
threshold (ImageZ, Regions, 1, 100)
reduce_domain (ImageZ, Regions, ImageReducedZ)


gen_image_surface_first_order (ImageX, 'real', resolutionX, 0, 0, 0, 0, Width, Height)
gen_image_surface_first_order (ImageY, 'real', 0, resolutionY, 0, 0, 0, Width, Height)

* xyz_attrib_to_object_model_3d (ImageX, ImageY, ImageZ, ImageY, '&gray', ObjectModel3D)
xyz_to_object_model_3d (ImageX, ImageY, ImageReducedZ, ObjectModel3D1)

para :=  ['lut','color_attrib','point_size']
value := ['color1','coord_z',1]

visualize_object_model_3d (WindowHandle, ObjectModel3D1, [], [],para, value, [], [], [], PoseOut)

在这里插入图片描述

Ps:猛然发现 halcon20版本的F1帮助文档 关于visualize_object_model_3d 算子的参数描述太少了 漏了很多本来应该详细解释的参数

||更多详细的参数在 disp_object_model_3d (Operator)这个算子的帮助文档中

+当点云数据比较大 点的数量比较多时,直接可视化显示点云会造成卡顿

可使用sample_object_model_3d (ObjectModel3D1, ‘fast’, 0.05, [], [], SampledObjectModel3D)

算子来针对原点云进行重采样 减少显示的点数量 增加运行速度

+上面代码 我是在2d图上使用二值化 reduce domain来去除无效数据点的,还可以使用select_points_object_model_3d (SampledObjectModel3D, ‘point_coord_z’,1, 30, ObjectModel3DThresholded)算子来通过高度筛选去除高度上小于1的点云

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值