HALCON18.11新特征

HALCON18.11新特征

一. HDevelop句柄可视化

在HALCON中有很多句柄,如模板匹配句柄、OCR句柄、一维码句柄、二维码句柄、三维点云句柄等。以往,我们想要获取这些句柄相关参数时,需要使用相应的函数进行查询。而现在我们则可以在HDevelop中直接查看这些句柄的相关信息。

我们以二维码识别为例,在旧版HALCON中如果我们想获得训练参数则需要使用get_data_code_2d_param这一函数进行读取。该函数的输入参数为二维码句柄以及参数名称,执行后可以返回相应参数的值。如果我们想了解所有参数的值,则要先通过query_data_2d_params获取所有参数名称,而后再调参数获取函数。(代码及执行效果见下图)

在新版的HDevelop中我们可以通过右键菜单直接打开句柄,查看所有相关信息。

二. “字典”数据类型

数据类型Dict译为“字典”,它是一种新的句柄类型,它允许我们把任意类型的变量和一个字符串绑定,并可以通过该字符串进行变量的读取和设置。这将大大方便自定义函数参数的定义,在旧版HALCON中(如HALCON18.05)我们需要对不同类型的参数分别定义函数接口。当接口发生改变试,我们就不得不相应的修改我们的函数定义以及调用。

在新的版本中,有了“字典”类型的帮助,在定义函数接口时我们可以将相关变量分类存放进“字典”数据中。如此一来,当变量的数目或命名发生变化时,我们就不需要对原有接口和调用做任何改变了。

三. 二维码检测

ECC200是工业中常用的二维码。它优秀的纠错能力以及小巧的尺寸受到广大工业用户的青睐。在HALCON的早期版本中就已经集成了鲁邦性很高的二维码识别算子。而这一次MvTec进一步对该算子进行了改进。使得二维码识别算法在抗遮挡方面表现更加优异,即使我们将二维码中所有的定位符号都遮挡住,在新的版本中也依然可以正确的对二维码进行识别。

四. 深度学习

深度学习是目前非常流行的模式识别分类器。它可以通过训练的方式自动提取图像特征信息,进而对未知图像进行分类。

随着计算机硬件的发展,执行速度的提升,深度学习技术也开始在工业领域崭露头角。在HALCON的上一个版本中,MvTec公司结合工业领域图像处理特点已经推出了多个CNN网络模型以及深度学习图像处理算子。在新版本中,HALCON在原有分类功能基础上又增加了对象检测以及语义分割的功能。

对象检测

对象检测功能可以让我们对图像中不同类型的物体进行分类与定位。该算法适用于对图像特征未知物体进行计数以及定位。

语义分割

图像语义分割(semantic segmentation),从字面意思上理解就是让计算机根据图像的语义来进行分割,例如让计算机在输入上面左图的情况下,能够输出右图。语义在语音识别中指的是语音的意思,而在图像领域,语义指的是图像的内容,即对图片意思的理解。

通过语义分割算法我们可以将图像中的像素进行分类,而分类的依据来源于我们事先标记好的训练图像。目前工业领域中,该算法主要应用于工件的定位,缺陷的检测、分割以及粗略度量等方面。例如,药品的缺陷检测。

五. 并行处理中断操作

自从HALCON12提供了以par_start为代表的并行操作算子以来,MvTec一直在不断的完善并行操作相关算子。在本次更新中,HALCON18.11为我们增加了并行处理的中断操作功能。我们可以在一个线程中通过该算子中断一个指定ID的线程。

例如,我们可以在线程2中获取当前线程的ID并传递给线程1,并在线程1中根据实际需求将线程2终止。

六. 嵌入式芯片AArch64支持

新的HALCON版本将为我们提供最新的Arm v8 AArch64芯片支持。

七. I/O接口卡

在新版HALCON中我们可以使用hilscher采集卡进行IO通讯。

八. UTF-8字符集

众所周知,UTF-8号称万国字符集,在新的版本中,HALCON将提供对UTF-8字符集的支持,以方便大家在开发过程中兼容各国语言,并缓解文本转码可能带来的乱码问题。

九. HALCON消息句柄添加文件读写支持

MessageHandle是HALCON内部提供的,可用于线程间数据交互的句柄结构,它的功能类似“字典”,可以将数据和字符串进行绑定,并通过set_message_xxx和get_message_xxx实现数据的读取和写入。除了以上的操作在HALCON18.11中,我们还可以将MessageHandle保存为文件,方便我们在调试过程中检查这些变量。

十. 速度提升

MvTec在HALCON每一个版本迭代中,都会花费很多精力去提高算法的速度。在新版HALCON中我们同样也会享受到提速带来诸多益处。不得不说每一个版本的HALCON,在速度提升方面都会给我们一些惊喜。在本次更新中,又有很多的算子在速度上有了大幅的提升,如zoom_image_size()缩短处理时间甚至超过了源算子的50%。

十一. HALCON消息支持注册为设备回调函数

以往在相机采集时我们需要通过特定的编程语言(如c、c++、c#等)进行设备回调的注册。在新版HALCON中我们可以通过set_framegrabber_param使用“event_selector”和“event_message_queue”参数注册事件回调,并使用dequeue_message函数等待该事件发生。(仅限USB3Vision、GenIcam 以及GigeVision2)下面奉上一段注册相机事件的代码。

十二.WPF控件数据绑定扩展

在HALCON18.11中,MvTec对HSmartWindowControlWPF控件的属性进行了扩展,使得该控件可以支持数据绑定。

转自搜狐 act视觉系统设计

你可能感兴趣的:(视觉识别,halcon,视觉识别)