图像模式匹配是指通过分析模板图像和目标图像中灰度、边缘、外形结构以及对应关系等特征的相似性和一致性,从目标图像中寻找与模板图像相同或相似区域的过程。图像模式匹配是机器视觉系统最重要的功能之一,基于它可以实现目标对准、测量、检测以及分类等应用。
图像的模式匹配过程一般包括学习(Learning)和匹配(Matching)两个阶段。在学习阶段,算法会从模板图像中提取用于进行图像匹配的特征信息,并将它们以便于搜索的方式存放在模板图像中以备后用。在图像匹配阶段,算法从被测目标图像中提取同类型的特征信息,分析它们与模板图像中特征信息的相似性和一致性,以确定目标图像中与模板图像相匹配的区域。图像匹配过程一般以模板图像和被测的目标图像作为输入,输出匹配目标的数量、位置、角度相对于模板的缩放比例,以及用得分值表示的与模板图像之间的相似程度。
根据所基于的特征模式不同,图像模式匹配可分为灰度匹配、几何匹配和色彩匹配几大类,在本章中仅讲解灰度匹配和几何匹配。
图像的灰度匹配(Grayscale Matching)以像素灰度或灰度梯度信息为特征,通过计算模板图像与目标图像区域之间的归一化的互相关值(Normalized Cross-Correlation)来确定匹配区域。
几何匹配(Geometric Matching)又可分为基于边缘曲线(Edge Based)的几何匹配和基于目标外形特征(Feature Based)的几何匹配两大类。基于边缘曲线的几何匹配使用图像中边缘曲线上每个像素点的梯度角度和像素相对模板中心的位置,实现图像的模式匹配过程。基于目标外形特征的几何匹配则先从图像中的边缘曲线中提取角点、线段、矩形、圆形或椭圆等几何形状,然后再基于这些几何形状进行图像匹配。
下图对几类图像模式匹配过程的典型应用、算法、优缺点以及常见输出进行了汇总。其中也会绍图像的灰度匹配和几何匹配技术,色彩匹配将在后文再进行详细介绍。
要使机器视觉系统的图像模式匹配过程具有实用性,必须设法使模式匹配过程对以下几种环境仍能保持相对一致的计算结果。
1、平移和旋转
机器视觉系统的被测目标不一定都固定在视场内某一位置,而是可能在视场内平移或旋转。图像模式匹配算法应仍具有平移不变性(Shift-Invariant)或旋转不变性(RotateIlnvariant)。也就是说,即使被测目标在视场内有平移或旋转,算法也能准确匹配图像中的被测目标,并返回其位置和相对模板图像的旋转角度。
2、尺度变化
图像模式匹配算法应仍具有尺度不变性(Scale-Invariant)。当被测目标的尺寸在机器视觉系统采集到的多个图像中不固定时,算法应能对多个图像具有相对一致的匹配结果,并返回匹配目标相对于模板图像的缩放比例。
3、目标交叠
图像模式匹配算法应具有对交叠(Partial Occlusion)目标检测的能力,当被测目标之间有相互覆盖的情况时,算法应仍能正确匹配到目标,并返回被覆盖部分占整个目标的比例。下图给出了一个图像中被测目标旋转、缩放及交叠的例子。
4、光源强度线性或非线性变化
图像模式匹配算法应对光源强度线性或非线性变化保持不变性。当机器视觉系统的光源强度整体变暗或变亮(图像整体变暗或变亮),或视场中的光强呈非线性变化(图像中各部分亮度不同)时,算法仍能获得相对一致的匹配结果。下图显示了光源强度线性变化和非线性变化时对机器视觉系统所采集图像的影响。
5、噪声和模糊目标
图像模式匹配过程在图像中含有噪声或者被测目标模糊不清时,仍能准确匹配被测目标。例如对于下图(b)和(c)中的噪声图像和模糊目标,算法应仍能正确从中匹配模板图像所示的电路板一角。
之前博文讲到,图像的灰度匹配过程以像素灰度或灰度梯度信息为特征,通过计算模板图像与目标图像区域之间的归一化的互相关值(Normalized Cross-Correlation)来确定匹配区域。
常见的图像灰度匹配方法包括金字塔匹配法(Pyramidal Matching)和低差异采样匹配法(Low Discrepancy Sampling,LDS)两大类,其中金字塔匹配法又可分为基于灰度(Grayscale Based)的金字塔匹配法和基于阈值过滤梯度(GradientsBased)的金字塔匹配法两种。
下图对几种图像灰度匹配方法的特征、匹配条件和策略以及优缺点进行了汇总:
Nl Vision使用位于LabVIEW的视觉与运动→Machine Vision→Searching andMatching函数选板中的IMAQ Learn Pattern 4和位于Machine Vision→Find Patterns函数选板中的IMAQ Find Pattern 4封装了上述3种图像灰度匹配方法。
其中,IMAQ Learn Pattern 4用于对模板进行学习,IMAQ Match Pattern 4用于进行模板匹配,如下图所示:
函数说明及使用可参见帮助手册:
图像灰度匹配具有平移不变性,且能将旋转不变性和实时性提高到实际应用可接受的范围,但是它却不支持尺度不变性。与图像的灰度匹配不同,图像的几何匹配过程以被测目标的边缘轮廓或其几何外形作为特征,通过比较模板图像与目标图像中这些特征的差异来确定匹配区域。而被测目标的几何外形是综合角点、线段、矩形、圆形或椭圆等边缘曲线对目标的抽象描述。相对于灰度匹配来说,几何匹配具有平移/旋转不变性、尺度不变性、重叠不变性、线性或非线性光源变化不变性、对比度反转不变性以及抗噪性强等优点。
图像几何匹配分为基于边缘曲线的几何匹配和基于目标外形特征的几何匹配两种,两种方法均以边缘曲线提取(Curve Extraction)为基础。
基于边缘曲线的几何匹配对于对检测目标的形状没有要求,只要从目标图像中检测到的边缘能重现模板中的边缘即可。但是,基于边缘曲线的几何匹配计算量较大,而且计算过程需要占用较大内存,尤其在需要支持图像缩放和旋转时,显得速度较慢。
基于目标外形特征的几何匹配方法在从图像中提取到边缘曲线后,会先从图像中学习各种抽象层次较高的几何特征。学习过程对每个边缘曲线进行多边形近似拟合,并用可归类到所拟合多边形的边缘线段构建完整的多边形。这就会生成各种线性或拐角特征,而基于这些特征可进一步构建抽象层次更高的矩形目标轮廓。那些不能近似拟合为多边形或直线的边缘曲线或线段则用来创建圆形或椭圆特征。在得到各种抽象层次较高的矩形、圆形或椭圆特征后,算法会根据特征的类型、强度和明显程度(Saliency)对特征进行排序,并选取最佳特征作为代表模板的特征。用于排序的特征类型包括矩形、圆形(或椭圆)、线段和拐角。而强度是特征对几何形状描述的精确程度,明显程度则用来描述特征是否具有代表性。
特征提取和排序过程后,是模板模型(Template Model)的构建过程。算法根据各种特征之间的空间关系,使用空间距离向量来描述它们在图像中的分布,抽象出代表模板的模型。利用模板模型,可以在图像匹配过程中对匹配区域进行验证。下图给出了一个几何特征提取的示例及检测到的特征分布。
在实际应用中,若发现机器视觉系统的被测目标可由矩形、圆形、椭圆、线段或拐角等明显几何形状来表示,则可以使用基于目标外形特征的几何匹配方法来提高匹配过程的实时性。下图对两种图像几何匹配方法使用的特征、匹配过程及优缺点进行了汇总。
NI Vision使用位于LabVIEW的视觉与运动→Machine Vision→Searching and Matching函数选板中的IMAQ Setup Learn Geometric Pattern 2、IMAQ Learn Geometric Pattern 2和IMAQ Setup Match Geometric Pattern 2、IMAQ MatchGeometric Pattern 2以及Geometric Matching Advanced (Edge Based)子选板中的IMAQ Advanced Setup Learn Geometric Pattern 2和IMAQ Advanced SetupMatch Geometric Pattern 2来实现基于边缘曲线的几何匹配过程。基于目标外形特征的几何匹配过程由Geometric Pattern Matching(Feature Based)子选板及其Geometric Matching Advanced (Feature Based)子选板中的VI来实现。
这两种匹配方法的学习和匹配过程,均先使用参数设置VI对算法进行配置,然后才使用配置参数调用VI完成学习或匹配过程,具体使用技巧各位可参见说明手册,这里不再赘述。
在工业环境下,如果图像背景可控,将图像的减法运算和阈值化处理结合,可以快速有效地建立机器视觉系统。如果将同一目标在不同时间拍摄的图像或在不同波段的图像相减,即可获得图像的差影。图像差影可用于动态监测、运动目标的检测和跟踪、图像背景的消除及目标识别等。差影技术还可以用于消除图像中不必要的叠加图像,将混合图像中重要的信息分离出来。
使用图像减法运算进行缺陷检测的原理较为简单,但要直接使用它进行缺陷检测,参与运算的图像需要具备以下条件。
目标图像和模板图像中的被测件图像尺寸相同;
目标图像和模板图像中的被测件图像准确对准;
目标图像中的被测件相对于模板图像不存在畸变或畸变已经被矫正;
目标图像和模板图像中的被测件图像不存在整体灰度差异;
其他噪声的影响应提前被消除。
这些条件使得直接减法运算很难解决现实世界中的实际问题。例如,在下图所示的硬盘机械针划伤检测实例中,模板图像和故障图像中的硬盘针图像不仅尺寸相同,可准确对准,整体上不存在灰度差异,且无畸变,因此可以直接通过图像减法获得缺陷图像。但是现实中,任何图像错位、图像畸变、图像灰度变化或噪声,都会影响图像减法运算进行缺陷检测的结果。
由此可见,要使用图像减法运算在实际工业环境中进行缺陷检测,除了要确保被测件尺度不变外,还需要事先设法矫正图像畸变,对准被测件图像,尽量消除整体灰度差异和噪声对图像减法运算结果的影响。
黄金模板比较(Golden Template Comparison)正是基于图像减法运算,综合应用图像对准、投影畸变矫正、灰度差异处理以及忽略部分边缘等措施,在实际工业环境中进行目标缺陷检测的一种方法。下图汇总了黄金模板比较法的原理、输出结果以及为提高算法实用性在图像减法运算的基础上所采取的优化措施。
模板和目标图像的对准对黄金模板比较法的正常执行至关重要,未对准的图像进行减法运算的结果会产生差影。例如,在下图所示的某微光瞄准镜缺陷检测实例中,若采集到的瞄准镜视场发生了偏移,则通过减法运算得到的结果中不仅包含缺陷点,还包含图像的差影,而且差影还占了主要部分。
Nl Vision使用位于LabVIEW的视觉与运动→Machine Vision→Inspection函数选板中的IMAQ Learn Golden Template和IMAQ Compare Golden Template来实现图像的黄金模板比较过程。其中IMAQ Learn Golden Template用于在程序运行时创建黄金模板,IMAQ Compare Golden Template用于综合各种措施对目标图像和模板进行比较,如下图所示:
函数说明及使用可参见帮助手册:
问题:我有一个输入框,让用户只能从规定列表中选取值输入,那么我就要用enum,但是enum输出的值是它的value,value永远都是从0开始的递增数,我才不想要这个数值,我想要用户在列表中选取的的那个数值。
精简:即获取enum中的item值,而不是value。
思路:获取到item列表(string类型),用value去index这个列表,再转换为数值
If an enum control or indicator exists, create a property node for the enum and select the Strings[] property This property returns an array of strings for the specified enum Then use the Index Array function with the enum wired to the index terminal to access the desired string
If there is no enum control or indicator in the VI, wire the enum to the Format Into String function input; with a string value of %s wired to the format string input This function returns the string value associated with the input enum value
两种方法都画在下面
以上就是关于LabVIEW入门全部的内容,包括:LabVIEW入门、关于LABVIEW的问题,求高人指点,不胜感激·····、labview怎么实时显示子vi输出信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)