halcon3D ObjectModel3D生成并可视化显示
现在是2021年8月22日,如愿以偿的用上了halcon20.11,向还在halcon12奋斗的同志表示慰问:
读取点云数据并显示
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的点云
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!