这一节介绍如何完成常用的机器视觉任务。最常用的检测任务是测试图像中有还是没有某个部件,并测量部件的大小以确定是否满足标准。
测量是基于图像中物体所表现出来特征。图像处理算法通常利用图像中包含的信息进行分类,如边、面或形状。不同类型的机器视觉算法,影响并提取一种或多种信息。
边缘检测及其衍生技术,如耙子,同心耙,和辐条(rakes, concentric rakes, and spokes)用于图像中所表现出了边。他们可以精确地定位物体边缘的位置。可以使用边缘检测来进行部件宽度一类的测量, 这一技术被称为卡尺。也可以综合多条边来计算交点、投射、适合的园或椭圆。
模式匹配算法使用边和样板。模式匹配可以精确的定位所检测部件的基准位置或特性。可以综合使用这些位置来计算长度、角度和其它的测量指标。
测量指标的健壮性以来与图像采集条件的稳定性。传感器分辨率、光照、光学、震动控制、 工件夹具,以及一般环境都是图像建立的关键因素。 图像采集环节的所有元素直接影响测量的精度。
下图介绍了机器视觉过程中的基本步骤。
p_w_picpath
说明 图中虚线框起来的内容是可选步骤。
检测物体定位
典型的机器视觉应用中,是从关注区中提取测量指标而不是从整个图像中。要使用这种技术,关注物体的各个部分都要出现在所定义的关注区中。
如果需要处理的图像中被测物体始终保持在相同的位置和方向,那么直接定义关注区就可以了。参见本文中关于选择ROI一章。
通常,被测物体会在需要处理的图像中发生相对位移或旋转。 发生这种情况时,那么关注区就需要跟所关注的物体的所有部分一起移动或旋转。对于要随物体一起移动的关注区,需要定义一个相对于参考图像中物体的参考坐标系统。在测量处理期间,当需要处理的图像中的物体出现移动和旋转时,坐标系统也随物体一起移动。这个坐标系统称为测量坐标系统。测量模块利用相对于参考坐标系统的测量位置自动地将关注区移动到正确的位置。关于坐标系统,参见参见 NI Vision概念手册,第14章,维度测量。
可以利用边缘检测或模式匹配建立一个坐标变换。建立坐标变换的边缘检测和模式匹配模块的输出结果是原点、角度,和坐标系统的轴向。某些 机器视觉模块采用这一输出结果并自动调整检测区域。也可以通过编程利用这些输出结果来移动做相对于物体的检测区域。
利用边缘检测创建坐标变换
可以采用两种边缘检测技术创建一个坐标变换。 IMAQ Find CoordSys (Rect) 2 模块利用一个矩形区域定义一个参考坐标系。 IMAQ Find CoordSys (2 Rects) 2 模块使用两个独立的矩形区域定义一个坐标系。使用边沿检测构建一个坐标变换的完整步骤如下。
1. 指定一个或恋歌矩形区域。
a) 如果使用 IMAQ Find CoordSys (Rect) 2 模块,指定一个包含两个正直部分的关注区,如下图所示。这个矩形区域必须足够大以包含全部图像中所要检测的边缘。
p_w_picpath
 
1 坐标系搜索区域
3 坐标系原点
2 物体边缘
4 测量区域
b) 如果使用IMAQ Find CoordSys (2 Rects) 2 模块,指定两个矩形关注区,每个区域包含一个分开的、正直物体边缘,如下图所示。这两个边不能平行。这两个矩形区域必须足够大以包含全部图像中所要检测的边缘。
p_w_picpath
 
1 第一搜索区域
3 坐标原点
2 第二搜索区域
4 测量区域
2. 选择用于定位物体上边缘的参数。
3. 选择坐标轴方向。
4. 选择希望覆盖在图像上的结果。
5. 为模块选择模式。第一次建立坐标变化,将模式设置为Find Reference 。 要为其后的图像更新坐标变换,将该模式设置为Update CoordSys
使用模式匹配构建一个坐标变换
使用模式匹配可以构建一个坐标变换。 IMAQ Find CoordSys (Pattern) 2 基于参考属性的位置定义一个参考坐标系。该技术用于检测物体没有正直边,或不连续边的情况。使用模式匹配构建一个坐标变换的完整步骤如下:
说明 如果使用旋转-不变模式匹配,使用该技术可以使物体在图像中旋转 360° 。
1. 定义代表用作参考属性的物体的一部分的模板,。
2. 定义一个期望查找模板的矩形搜索区
3. 选择匹配模式。当检测图像中所要的样板发生旋转时,选择 Rotation Invariant ,否则,选择 Shift Invariant
4. 选择需要覆盖在图像上的结果
5. 为模块选择模式。第一次建立坐标变化,将模式设置为Find Reference。 要为其后的图像更新坐标变换,将该模式设置为Update CoordSys。
选择构建坐标变换的方法
下图所示的流程图引导在应用程序中选择最佳的建立坐标变换的方法。
p_w_picpath
设置搜索区域
在图像中选择关注区,以限制处理和检测的区域。可以通过交互式或编程来定义关注区。
交互式定义区域
下面的表列出了特定的测量模块所 使用的关注区。
关注区
测量模块
旋转矩形
IMAQ Find Pattern 2
IMAQ Clamp Horizontal Max
IMAQ Clamp Horizontal Min
IMAQ Clamp Vertical Max
IMAQ Clamp Vertical Min
IMAQ Find Edge
IMAQ Find Straight Edges
环形
IMAQ Find Circular Edge
IMAQ Find Concentric Edge
程序化定义区域
当设计一个自动化应用程序是,需要程序化定义关注区。可以有两种方法:
l 制定ROI描述元素。
l 提供描述要定义的区域的基本参数来制定区域。可以通过提供左上角坐标,右下角,和旋转角度来指定一个旋转矩形。可以通过提供中心坐标,内径,外径,起始角,结束角来指定一个环形。可以通过设置x-和y-坐标来指定一个点。可以设置起点和终点来指定一条线。
查找测量点
在设置了检测区域之后,就能够定位基本测量的点。可以使用边缘检测、模式匹配、彩色模式匹配和色彩定位来定位测量点。
使用边缘检测获得特征
图像的非连续性通常表现为像素明暗度的突然改变。使用边缘检测工具可以识别和定位图像中剧烈的不连续处。
查找线和圆
如果想沿着物体的边沿查找点并找到描绘这条边的线,使用 IMAQ Find Edge, IMAQ Find Straight Edges,和 IMAQ Find Concentric Edge模块。 IMAQ Find EdgeIMAQ Find Straight Edges 模块基于矩形搜索区域查找边缘,如下图所示。 IMAQ Find Concentric Edge 模块基于环形搜索区域查找边缘。
p_w_picpath
 
1 搜索区域
3 检测到的边缘点