NI视觉助手Vision Assistant教程
Set Coordinate System设定坐标系,函数说明信息创建一个坐标系基于参考特征的位置与方向,其函数在面板中的位置如下图所示:
图1 Set Coordinate System设定坐标系
这个函数首先是需要一个参考特征,这样才能用于建立坐标系。如果在没有参考特征的情况下,直接点击函数,是会提示警告的:
图2 Set Coordinate System设定坐标系必须基于参考特征
从图2中的警告信息看到,坐标系基于其它步骤的点位置,例如找边缘、找模板、粒子分析等。如果在脚本中没有相关的点可以使用,则无法建立坐标系,即如果脚本区中有直方图、线剖面图、测量等函数也是不能用作参考特征来建立坐标系的。
因此在这里,我们先使用函数Edge Detector先找到一点边缘点(函数在后面章节中介绍,点击函数后,直接在图像边缘对比强的地方画一条线ROI,大部分的图像都能找到边缘点)。然后再点击设定坐标系函数,进行设定坐标系设置界面,如下图所示:
图3 设定坐标系设置界面
设定坐标系函数因为只相关于点的位置与方向,因此与图像的格式无关,彩色、灰度、二值图像等都可以使用设定坐标系,关键点是要有参考特征的点坐标。
从图3中的配置界面中可以看到脚本区中找到了一个边缘点(即图像中大100元与壹佰圆中间的钱币符号上),然后在这个点上,还有一个红色的直角坐标系。这个坐标系就是点击函数后默认的建立的坐标系。下面来看一下设定坐标系的具体设置选项卡。
图4 设定坐标系设置
设定坐标系的设置选项卡也比较简单,只有一个Settings设置选项卡。其中有一个类似步骤名的Coordinate System Name坐标系名称。这个坐标系名,即充当了步骤名,又充当了坐标系名。坐标系名是需要区别对待的。因为一个图像处理检测系统中,是可以设置多个不同的参考坐标系的。
接下来是Mode坐标系的类型。默认的是Horizontal Motion水平运动,此外还有Vertical Motion垂直运动、Horizontal and Vertical水平和垂直运动、Horizontal、Vertical and Angular Motion水平、垂直带角度的运动。如下图所示:
图5 设定坐标系Mode类型
从图5中看到,最后一个水平、垂直带角度运动的类型是灰色不可用的。这是因为前面的找边缘点的步骤只找到了点,而并没有方向,因此坐标系没有相应的角度方向参考,因此带角度的运动是不可用的。在本节后面再来看一个带角度的例子。
Origin原点用于指定需要设定的坐标系的原点(0FF0C0)。上面图中可以使用的是Edge Detector函数找到的1-Edge Detector 1-Edge 1边缘点。原点中的名称有两个“-”横线隔开三段,命名的规则是这样的:最前面的数字是可以使用的坐标系原点编号,中间一部分是某个可以找到点的函数名,后面是此函数找到的具体的点名称与编号。不同的函数可以找到的点是不一样的,而且相同的函数针对不同的图像使用不同的设置方法时,找到的点位置、数量也是不一样的。因此在建立坐标系时,需要对点有一个比较好的把握。理论上比较好的点是那种具有唯一性,且容易寻找,不容易找错的点。因此一旦这个原点找错了,那么坐标系的位置与方向就不正确了,那么如果后面有ROI需要跟随这个坐标系运动,那么ROI就不会在想的特征上面从而造成测量的不正确。
X-Axis Angle X轴角度用于指定设定坐标系的X轴角度。在上面的例子中,因为没有可以使用的角度特征,因此X轴角度选项里没有相应的选项,是灰色禁用的。如果有相应的角度选项,那么与Origin原点中方式一样,角度也是选择具体的特征测量得到的角度,而不是由用户指定的角度。
在这里我们选择水平和垂直运动模式,点击OK后确定,即完成了坐标系设定,如下图所示:
图6 设定坐标系例子
下面在上面的例子基础上再加添加一个查找直边的函数,这个就可以测量得到直线的两个端点以及直线的角度。然后再利用这些点与角度再建立一个坐标系。
图7 Find Straight Edge Setup查找直边
图8 设定坐标系-水平、垂直带角度运动
图9 设定坐标系详情
图7中,使用查找直边函数找到一条直边。图8中,利用找到的直边的第一点为新坐标系的原点,利用找到的直边角度为X轴角度,设定水平、垂直带夹角运动的坐标系。图9是建立的坐标系的详情。从中可以看到,设定的坐标系有一个绿色的框包围了一个小红方框,这个是原点的位置,两条红色的带箭头的线分别是新设定的坐标系的X、Y轴。其中有一条线的箭头前面还有一个小红点,这条线是X轴,另外一条则为Y轴。在坐标系上还有一条绿色的字符表示当前的坐标系名称。
这里有一些细节是大家在后面的学习应用中需要注意的。图8中的找直边函数找到的直接的两个端点,第一点与第二点的位置与顺序是不确定的。根据ROI的方向、找直边的方向等不同,找到的直边的端点是不一样的,这个不一样,即体现在坐标的细小偏差上,也体现在第一点、第二点的排序上;例如图8中使用的ROI是水平向右的,耙子也是从左到右的,这样找到的第一点在上面,第二点在下面(从图8中的Y坐标点可以看到)。而如果将ROI转90度,设置成从上到下的,再把耙子设置从底到顶的,那么找到的两个点第一个点是在下面的,第二个点在上面。而且点的坐标也是会有变化的。如下图所示:
图10 找直边ROI方向不一样时找到的直边点不一样
图11 当原点不同时,坐标系会随着原点变化
图11中仍然使用原来的坐标系设置,即使用直查找直边的第一点作为原点,这建立的坐标系就在直边的下方了。
设定坐标系函数,在实际测量中是非常有用的,特别是一些生产线上或大视野中的目标的定位测量上,如尺寸测量、条码识别、OCR、粒子分析等函数,当目标特征在视野的位置不确定时,这里就需要建立参考坐标系,使测量目标的ROI跟随参考点运动。而参考点的选择,通常是需要保证其在视野中一定存在且清晰容易识别,不会造成不确定性的特征,一般使用匹配等方法进行参考特征的提取,再建立参考坐标系,然后再做目标特征的测量。如下面所示的例子,基于图8所示的坐标系,再进行100元字符中的0字进行圆检测。这样当钞票在视野中位置发生变化时,也可以测量得到目标特征。当然这里选择的参考坐标系的原点特征并不很理想,因为其会变化,因此用户可以考虑使用如小数字的可变色的100字符,也可以使用钱币阴阳符号,或者是国徽之类的。这样就坐标系就相对稳定许多。
图12 基于参考坐标系的目标特征测量
精品石鑫华NI Vision Assistant视觉助手图像处理实用教程视频版-淘宝网
上一篇:NI视觉助手Vision Assistant教程 第五章 图像处理-Image图像 第五节 Brightness亮度
下一篇:NI视觉助手Vision Assistant教程 第五章 图像处理-Image图像 第七节 Image Mask 图像掩模
标签:NI NI视觉助手 视觉助手教程 NI Vision Assistant NI Vision Assistant教程 Image 图像处理 Image Processing Set Coodinate System 设定坐标系 参考特征 参考坐标系 ROI Edge Detector 坐标系原点 Find Strgight Edge Setup 查找直边 尺寸测量 条码识别 OCR 粒子分析 基于参考坐标系的目标特征测量