小杨说事-Halcon+LMI-Gocator测试让3D点云与2D灰度图融合效果,还你一个真实的三维世界

前言

        常见的3D点云数据大多是伪彩色的,当然有一些3D扫描硬件可以内部处理出2D亮度图(灰度图),但是能直接把两者融合起来的相对较少,尤其是咱们自己来处理点云数据的时候,我们需要将这些数据融合在一起,这样可以得到更好的渲染效果,来吧,本篇文章小杨即将带你正式走入工3D点云世界,当然还是利用我们的老朋友Halcon再加上LMI的Gocator模拟器一起完成本期知识介绍。

环境准备

        首先咱们需要离线的点云数据,这一点小杨推荐老东家LMI(3D扫描和在线检测全球领导者)的本地模拟器,这款模拟器自带了很多点云数据以及点云处理工具,同时还支持二次开发,最强大的还是可以直连Halcon模拟数据采集,方便咱们在Halcon当中完成一些点云数据处理功能的实现,软件还是免费下载的,可以说这套搭配是研究3D点云处理的利器。

        以下是下载网址,需要家人们自己注册个账号下载哈,当然不方便的联系小杨可以直接提供哈(截图目前来看是更新到比较新的版本了),小杨使用迅雷下载速度也是挺快的哈,毕竟之前迅雷被投诉过,哈哈。

Gocator Emulator and Utilities – Version 6.1.42.10 | LMI Technologies (lmi3d.com)icon-default.png?t=N7T8https://lmi3d.com/resource/gocator-emulator-and-utilities-version-6-1-42-10/

        解压缩下载文件,按照下图标记的路径打开模拟器。

        打开软件咱们进到软件主界面,选择其中的一个木板+纸箱的离线点云数据,双击打开进入模拟器,按照图中标记的按钮,切换显示效果,可以看到模拟器是支持3D点云+2D灰度图融合显示的效果,后面咱们会利用Halcon实现该效果。

        接下来最关键的一步是,需要配置模拟器的输出,使其输出亮度图,这样在Halcon里面才能获取到亮度图信息,注意下图的红色标记部分。

        好的,家人们模拟器有了,接下来有请老朋友Halcon登场,这里小杨哥是用的Halcon22.11稳定版本,当然这个可以自己淘宝购买,实在不行联系小杨哥哈,不过咱们还需要再稍微配置一下才能连接模拟器进行采集数据。

        由于Halcon默认是没有提供适配LMI硬件的GenTL接口,所以需要从MVTEC的官网下载标准接口库(需要注册为用户),下载地址如下,按照图中信息进行搜索下载。
MVTec 数字 I/O、图像采集、加密锁和标准接口icon-default.png?t=N7T8https://www.mvtec.com/cn/downloads/interfaces?tx_mvtecproduct_extensiondownloadlist[filter][0]=manufacturer:LMI%20Technologies&tx_mvtecproduct_extensiondownloadlist[filter][1]=productVersion:HALCON%2022.11%20Steady&tx_mvtecproduct_extensiondownloadlist[filter][2]=operatingSystem:Windows

        关于GenTL协议的相关说明,这只是一个通用的标准协议,第三方相机按照该协议编写相关配置文件,即可接入,相关解释可以查看如下链接:

GenICam GenTL 标准 ver1.5(1)GenICam简介与框架_CoderIsArt的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/zkmrobot/article/details/125436040

        接着对下载完的文件解压将里面需要用到的两个采集相关的库拷贝到Halcon安装文件夹里面,不过小杨哥在新电脑上安装Halcon22.11过程中可以勾选GenTL协议,后续没有下载扩展包也可以直接连接,家人们也可以自行尝试,如果有更新小杨哥也会及时更新这篇文档。

        啊,漫长的准备工作终于做完,咱们终于可以正式获取3D点云数据了。

获取点云数据测试

        家人们在刚刚下载的采集扩展包里面,可以找到Halcon官方提供的标准的连接LMI-Gocator模拟器并采集点云数据的案例,打开该例程。

        打开示例程序后,家人们需要新建一个采集助手,然后点击自动检测端口,由于已经添加了扩展包,这里在模拟器点云案例打开的情况下,是可以选择GenIcamTl类型接口的,再点击尝试连接,如果显示为“断开”则表示连接测试成功了,此时断开连接,咱们直接使用程序运行。

        以下是实际测试部分效果动图。

        哈哈,怎么样,Halcon+LMI-Gocator模拟器是不是很强大,直接就能连上采集图像,甚至还能直接得到3D点云数据+2D亮度图融合效果,如果家人们需要,后面小阳哥会解读这个案例代码,当然实际情况下,咱们这种连接方式还是不太稳定,后面小杨哥会结合代码给大家讲解Halcon3D点云获取,3DROI,3D直线查找等工具。

        好啦,本期博客到此结束,家人们记得关注小杨哥,点赞关注不迷路,祝大家周末愉快!

  • 11
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Hi~ 可私信我了解后再进行下载~ 本资源上传时,遗漏了两个文件,分别是:data_filter_keep_order_output_index.hdvp 以及 IntensityImageToPiontsCloudImage.hdvp,购买了该资源的同学,给我留言,我会私信发给你们。 1.基于halcon算法平台; 2.提供深度图源文件以及解压密码; 3.代码预览: */****************************** * @文档名称: 基于点云的平面度测量。 * @作者: hugo * @版本: 1.1 * @日期: 2021-6-20 * @描述: 该方法支持点云的平面的平面度测量。 ********************************/ dev_update_window ('on') dev_get_window (WindowHandle) read_image (imageReal, './replay_38893_2021-6-7.tif') xResolution:=0.06 yResolution:=0.06 zResolution:=0.001 ScaleFactor:=[xResolution,yResolution,zResolution] *采样区域1 create_drawing_object_rectangle2 (300, 120, rad(90), 30, 20, DrawID) set_drawing_object_params (DrawID, 'color', 'forest green') set_drawing_object_params (DrawID, 'line_width', 1) attach_drawing_object_to_window (WindowHandle, DrawID) .......... *平面度 height:=theta/zScale*0.001 *可视化高度差效果 visParamName := ['lut','alpha_0','intensity','color_1'] visParamValue := ['hsi',0.7,'coord_z','yellow'] Labels := ['','平面度:'+height+'mm',''] objs:=[ObjectModel3Ds[2],final_ObjectModel3Ds] visualize_object_model_3d (WindowHandle, objs, [], [], visParamName, visParamValue, 'Edited by AmazingRobot+', [Labels], '', PoseOut) *stop () clear_object_model_3d (plane_balls) for Index := 0 to |final_ObjectModel3Ds|-1 by 1 clear_object_model_3d (final_ObjectModel3Ds[Index]) endfor return () 谢谢您的信任~
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值