3.1 走进HALCON
HALCON源自学术界,是一套Image Processing Library,由一千多个各自独立的函数,以及底层的数据管理核心构成。函数包含各种功能,下面介绍HALCON中常用的几种应用功能:
①图像数据类型转换。HALCON可快速转换成Region/XLD类型进行处理。
②图像的变换与校正。HALCON可对畸变的图像进行变换与校正,方便后续处理。
③图像的增强处理。图像增强是通过一定手段对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或者抑制(掩盖)图像中某些不需要的特征,HALCON中包括基于空域和基于频域两大类算法。
④BLOB分析。BLOB分析就是对前景/背景分离后的二值图像,进行连通域提取和标记。HALCON中包括全局阈值分割、局部阈值分割、自动阈值分割以及其他的一些图像分割算子。
⑤特征提取。在HALCON中可运用任意结构进行特征提取。
⑥形态学。HALCON可以使用任意结构对Region和Image进行腐蚀、膨胀、开/闭运算处理,以获取想要的Region和Image。
⑦匹配。匹配功能包括基于点匹配、基于灰度值匹配、基于描述符匹配、基于相关性匹配、基于形状匹配等。利用匹配技术可高效地进行检测,即使目标发生旋转、放缩、局部变形、部分遮挡或者光照有非线性变化,HALCON利用XLD匹配技术也可实时、有效、准确地找到目标。
⑧标定。HALCON中的标定功能可以建立二维图像的点与三维空间中的点的对应关系,将相机与现实世界进行联系。
⑨双目立体视觉(三维立体视觉匹配)。
⑩测量。HALCON提供有1D测量、2D测量和3D测量。
正是由于其庞大的功能体系,应用范围几乎没有限制,涵盖半导体业、遥感探测包装行业、监控玻璃生产与加工、钢铁与金属业等,换句话说,只要用到图像处理的地方,就可以用HALCON强大的计算分析能力来完成工作。HALCON主要有以下四个优点:
①HALCON包含了一套交互式的程序设计界面HDevelop,该界面可直接撰写、修改、执行程序,设计完成后,可直接导出C、C++、C#、VB等程序代码,让使用者能在最短的时间开发出视觉系统。此外,HDevelop拥有数百个范例程序,学习者可依据不同的类别找到相应的范例进行学习参考。
②HALCON可支持多种取像设备,原厂已提供了60余种相机的驱动链接,即使是尚未支持的相机,除了可以透过指标(Pointer)轻易地抓取影像,还可以利用HALCON开放性的架构,自行撰写DLL文件和系统连接。另外对于相机各接口,在HALCON开发环境下提供了许多助手工具,可以方便开发人员进行快速仿真。
③设计人机接口时没有特别限制,可以完全使用开发环境下的程序语言,例如Visual Studio、NET、Mono等,架构自己的接口,并且在执行作业的机器上,只需要很小的资源套件。
④HALCON可支持多种操作系统,如Windows、Linux等。当开发出一套系统后,可以根据需求任意转换平台。