1、原理
彩色模式匹配(Color Pattern Matching)基于目标图像的色彩和空间分布特征(如形状、尺寸等),综合色彩匹配和灰度图像模式匹配技术,来快速定位图像中的彩色模式。
色彩匹配将模板图像与待测图像或其中某一区域的颜色进行比较,判断它们是否相同或相近。图像或模板中的颜色信息可以由一种或多种颜色构成,色彩匹配过程会根据各种颜色像素的数量统计信息生成色谱,以简化匹配过程。色彩匹配过程执行之前,需要明确模板和待比较图像区域所在的位置。
色彩定位功能对色彩匹配进行增强和扩展,以快速定位图像中的特定颜色区域。它先通过下采样和步进搜索的方法快速确定可能的候选匹配位置,然后再对各个候选区域进行精细色彩匹配,以最终确定最佳色彩匹配位置。这种由粗到细的搜索方法对于在图像中寻找与模板图像具有类似颜色属性的区域位置和数量十分有效。
由于色彩定位基于模板的像素颜色统计信息工作,所以它只具有平移不变性,而对尺度和旋转变化不能保持严格的不变性,也不能返回与模板匹配区域的角度信息。
彩色模式匹配对色彩定位功能进行了增强和扩展。它先使用色彩定位过程,基于模板的颜色信息从图像中搜索匹配的区域。然后,对于每个匹配区域,彩色模式匹配过程都会扩展该区域的范围,并执行图像的灰度模式匹配,以找到模板在图像中的确切位置及旋转角度。下图显示了彩色模式匹配过程的流程图以及它与色彩匹配、色彩定位之间的关系。
图像的灰度模式匹配技术通过计算模板和图像之间的归一化互相关值来确定匹配区域。由于归一化互相关仅具有平移不变性,因此还需要通过对模板进行多次缩放或旋转后再重复搜索过程来赋予灰度模式匹配尺度不变性和旋转不变性。但是要完全支持尺度不变性和旋转不变性,需要进行大量计算,这会严重影响算法的实时性。
为了增强算法的实用性,灰度模式匹配过程使用下采样和先粗后细的匹配策略,以及梯度金字塔、低差异采样和图像理解等技术,使其不仅能适应被测目标±5%的尺度变化,保持旋转不变性,还能兼顾实用性。相应地,综合使用色彩匹配和灰度模式匹配技术的彩色模式匹配,不仅具有平移和旋转不变性,还支持±5%的尺度变化。
彩色模式匹配对许多机器视觉应用至关重要,它不仅能输出与彩色模板相匹配的图像区域数量信息,还能提供其在图像中的准确位置和角度信息。因此,它在很多时候能通过提高灰度图像的对比度,或将目标与背景分离来简化灰度图像匹配问题,或进一步提高系统的可靠性。
一般来说,若要在待测对象与背景间的颜色区别非常明显的情况下精确地定位待测对象的位置,或者待测对象的灰度特征较难描述或与其他对象的灰度特征较类似的情况下,彩色模式匹配具有较强的优势。
基于彩色模式匹配,可以创建机器视觉测量(Gauging)、检测(Inspection)和对准(Alignment)系统。例如,在待测件的间距测量应用中,若待测件的颜色标识固定,则通过彩色模式匹配可以快速定位它们的准确位置,并进而计算得到待测件之间的距离;检测组装过程是否漏装零件;检查彩色印刷物的质量。例如,日常消费品上的标签大多为彩色标签,所以可使用颜色模式匹配来检测标签的质量,或者先用它定位图像中的标签,再进一步进行详细检测。
2、实践
NI Vision使用位于LabVIEW的视觉与运动→Machine Vision→Searching & Matching函数选板中的IMAQ Setup LearnColor Pattern、lMAQ Learn Color Pattern、IMAQ Setup Match Color Pattern和IMAQ Match Color Pattern封装了色彩定位和色彩模式匹配的学习和搜索过程。使用这些函数可创建基于色彩定位的颜色识别、颜色分类(Color Sorting)和颜色检测机器视觉应用。
函数说明及使用可参见帮助手册:
通过彩色图像匹配检测电路板上某一固定类型组件的数量、位置和角度的案例了解彩色模式匹配的使用方法,程序设计思路如下所示:
程序一开始先将组件模板图像读入内存,然后由IMAQ SetupLearn Color Pattern对学习过程进行配置,要求IMAQ Learn Color Pattern在执行学习过程时,不仅要学习模板的颜色和形状信息,还要同时对平移和旋转保持不变性;
IMAQ Setup Match Color Pattern对彩色模式匹配过程进行配置,不仅要求同时进行色彩和形状匹配,还要能对旋转保持不变性;
While循环会逐一将待测图像文件夹中的图像读入内存,并调用IMAQ Match Color Pattern匹配模式与模板相同的4个组件,并根据返回的数量判断检测结果是否合格。
程序实现如下所示:
运行程序可见,即使被检测电路板在图像中有旋转,程序也能有效完成彩色组件的模式匹配。观察程序返回的各匹配区域详细信息(Matches数组),可以发现彩色模式匹配过程返回的信息极为丰富,包括匹配区域的位置、角度、尺度变化量、外接矩形和匹配分值等。使用这些信息,就能实现各种测量、检测或对准机器视觉应用。
网友评论