视觉对象的基本事项
在详细了解视觉对象之前,先简单的说明一下视觉对象的布局、以及如何调整视觉对象的位置和大小等基础知识。
创建了一个新的视觉对象并将其放置在图像显示区域里以后,它就具有了一些特有的视觉特性,我们必须理解这些特性。
例如,Correlation对象会和搜索窗口、模型窗口和模型原点一起显示。这些都可以通过鼠标拖动来调整显示的位置。
以下是基本的视觉对象和其操作方法。
视觉对象布局示例
搜索窗口
大多数视觉对象都有一个搜索窗口,如下所示。搜索窗口就是上图中所示的外框,当处于活动状态(当前正在处理的视觉对象)时为洋红色(浅紫色);处于非活动状态(是序列中的对象,但不是当前正在进行处理的对象)时为蓝色。在运行时,跟根据是否检测出对象而变成绿色或红色。
搜索窗口用来定义对象区域(检测工件或图案的区域)。
点击视觉对象的名称(或搜索窗口)并将其拖动到图像显示区域中所需的新位置,即可轻松地移动搜索窗口。(图中的“Corr01”是对象的名称。)
在设置视觉对象时,搜索窗口的大小很重要。搜索窗口越大,搜索时间越长。所以搜索窗口应尽可能小,但又要足够大到处理零件的不同变换位置。
要点
将SearchWinType属性设置为“RotatedRectangle”或“Circle”,即可指定搜索窗口的角度或设置圆形搜索区域。
使用 6.2.15 Frame对象 可以帮助减小搜索窗口尺寸。
确定搜索窗口的位置
点击视觉对象的名称,然后将视觉对象拖拽到要移动的位置,即可修改搜索窗口的位置。
移动视觉对象时,请确保左上角的位置正确。
调整搜索窗口的尺寸
使用搜索窗口的尺寸手柄,调整搜索窗口的大小。当创建视觉对象或单击选择视觉对象时,将会显示搜索窗口的尺寸手柄。
尺寸手柄就是位于搜索窗口边侧和四角的小框。可以拖拽尺寸手柄轻松调整搜索窗口的尺寸。
当您将鼠标指针移动到搜索窗口尺寸手柄上,鼠标指针将变成双向箭头。此时请单击鼠标,选中手柄。
您可以点击搜索窗口的任何一个尺寸手柄,以拖动边缘或四角来调整搜索窗口的尺寸。
点击搜索窗口左右两侧的尺寸手柄,即可水平调整视觉对象的大小。
点击搜索窗口上下两边的尺寸手柄,即可垂直调整视觉对象的大小。
点击搜索窗口四角上的尺寸手柄,即可同时水平和垂直调整搜索窗口的大小。
调整尺寸后的搜索窗口
使用SearchWinType属性设置搜索窗口的形状。除了“Rectangle”、“RotatedRectangle”和“Circle”,还可以设置为“Arc”或“Polygon”。设置为“Arc”或“Polygon”,可以用尺寸手柄调整的属性,和可以使用的属性,与其他三种设置不同。设置为“Arc”,可以设置弧形搜索区域。
确定搜索窗口的位置
点击视觉对象的名称,然后将视觉对象拖拽到要移动的位置,即可修改搜索窗口的位置。
移动视觉对象时,请确保中心点的位置正确。
调整搜索窗口的尺寸
使用搜索窗口的尺寸手柄,调整搜索窗口的大小。在“Arc”类型的搜索窗口中,搜索窗口的尺寸手柄是一个小框,显示在搜索窗口圆弧的外径和内径的中心,以及弧形的起点和终点。拖拽尺寸手柄即可调整搜索窗口的大小。
当您将鼠标指针移动到搜索窗口尺寸手柄上,鼠标指针将变成双向箭头。此时请单击鼠标,选中手柄。
使用圆弧起点和终点的尺寸手柄,可调整搜索窗口圆弧的长度。
使用圆外径和圆内径中心的尺寸手柄,可以调整搜索窗口圆弧的宽度。
要点
“Arc”类型的搜索窗口,可以使用“Rectangle”,“RotatedRectangle”,“Circle”的搜索窗口形状,无法使用SearchWinLeft属性、SearchWinTop属性、SearchWinHeight属性和SearchWinWidth属性。取代这些属性的是,SearchWinAngleStart属性、SearchWinAngleEnd属性、SearchWinRadiusInner属性和SearchWinRadiusOuter属性。也可以使用SearchWinCenterX属性和SearchWinCenterY属性,所以可以调整这6个属性来设置圆弧的位置和大小。
可以将SearchWinType设置为“Polygon”,来设置12边形的搜索区域。它比其他4种类型具有更多属性,可以表现高度自由的形状。
确定搜索窗口的位置
点击视觉对象的名称,然后将视觉对象拖拽到要移动的位置,即可修改搜索窗口的位置。
移动视觉对象时,请确保中心点的位置正确。
调整搜索窗口的尺寸
使用搜索窗口的尺寸手柄,调整搜索窗口的大小。在“Polygon”型的搜索窗口中,尺寸手柄是一个小框,位于12边形的每个顶点处,可以移动手柄自由调整搜索窗口的大小和形状。
当鼠标的指针移动到搜索窗口的尺寸手柄上时,指针会变为双箭头。此时点击鼠标可选中手柄。
使用“Rectangle”和“RotatedRectangle”型的搜索窗口,可以使用尺寸手柄调整搜索窗口的宽度、高度或两者。当您移动尺寸手柄时,其他手柄也会根据操作同时移动。但是在“Polygon”型的搜索窗口中,只有选定的手柄移动,其他手柄不动。而是用高度自由的调整搜索区域的形状。
要点
可以在“Rectangle”,“RotatedRectangle”和“Circle”型的搜索窗口形状中使用的SearchWinLeft属性和SearchWinTop属性,不能在“Polygon”型的搜索窗口中使用。取而代之,您可以使用SearchWinPolygonPointX1属性,SearchWinPolygonPointY1属性 ~ SearchWinPolygonPointX12属性和SearchWinPolygonPointY12属性。还可以使用SearchWinAngle属性,SearchWinCenterX属性,SearchWinCenterY属性,SearchWinHeight属性和SearchWinWidth属性,可以调整一共29个属性来表示搜索区域的位置、大小和形状。
注意
周围照明和外部设备噪音可能会影响视觉序列的图像和结果。当受到周围照明和外部设备噪音的影响,拍摄的图像可能会损坏,并且检测到的位置可能是对象搜索区域中的任何位置。请尽量缩小搜索区域,并在创建图像处理序列时,考虑到检测错误的情况。
模型窗口
Correlation对象、Geometric对象和Polar对象有模型窗口和搜索窗口。本节中将使用Correlation对象模型窗口进行说明。
Correlation对象的模型窗口如下图所示。下图中的内框即为模型窗口,颜色为洋红色。(在运行时,若检测到对象则颜色会变为绿色。)模型窗口用于规定模型的边界。(模型是指,被搜索对象的理想状态。通常是您要搜索的对象。)
模型窗口
确定模型窗口的位置
设置模型的尺寸和位置对于示教新模型是至关重要的,因此必须理解如何准确地设置模型窗口的位置和调整模型窗口的尺寸。
若要移动模型窗口,请点击并拖动组成模型窗口的四条侧边之一。建议您先将模型窗口的左上角移动到适当的位置,然后使用模型窗口尺寸手柄调整窗口的大小。
与搜索窗口一样,在设置视觉对象时,模型窗口的尺寸也很重要。通常,当搜索窗口的大小相同,模型越小,搜索时间越长。模型窗口的大小需满足能够处理零件的各种变换的同时,设置的越小越好,但同时也需要尽可能缩小搜索窗口的尺寸。
提示
将ModelWinType属性设置为“RotatedRectangle”或“Circle”,即可确定模型窗口的角度或使用圆形模型窗口。
调整模型窗口的尺寸
选择模型窗口时,会显示模型窗口的尺寸手柄。
但是,如果选定了搜索窗口,则无法显示模型窗口的尺寸手柄。如果手柄未显示在模型窗口中,则说明搜索窗口可能是活动窗口,此时请点击模型窗口的边缘,以切换至模型窗口。显示模型窗口的尺寸手柄。
模型窗口的尺寸手柄就是位于模型窗口边侧和四角的小框。可以拖拽尺寸手柄轻松调整模型窗口的尺寸。当您将鼠标光标移到模型窗口的尺寸手柄上时,光标就会变成一个双向箭头光标。此时单击鼠标即可选中手柄。
您可以点击模型窗口的任何一个尺寸手柄,以拖动边缘或四角来调整模型窗口的尺寸。
点击模型窗口左右两侧的尺寸手柄,即可水平调整视觉对象的大小。
点击模型窗口上下两边的尺寸手柄,即可垂直调整视觉对象的大小。
点击模型窗口四角上的尺寸手柄,即可同时水平和垂直调整模型窗口的大小。
模型原点
每个模型都有一个模型原点。模型原点就是一个固定基准点,指示图像中模型的位置。
请注意,模型原点的坐标位置是以模型窗口左上角为基准来表示的。
模型窗口的左上角的起始位置为[0,0]。
确定模型原点的位置
可以自动或手动设置模型原点的位置。
若要自动设定模型原点的位置,请将目标对象的ModelOrgAutoCenter属性设置为“True”。在这种情况下,模型原点会自动设置到模型窗口的中心位置。
要点
ModelOrgAutoCenter的默认设置为“True”。
若要以手动设置模型原点的位置,请将ModelOrgAutoCenter属性设置为“False”。可通过目标对象的对象窗口的属性列表中进行设置。在属性列表中设置属性时,亚像素可用作设置值。即使使用亚像素,图像中的模型原点也用像素表示。
若要移动模型原点,则将目标对象的模型窗口设置为活动窗口。如果搜索窗口处于活动状态,则无法移动模型原点。此时请点击模型窗口的任一侧边,以显示模型窗口的尺寸手柄。
如果ModelOrgAutoCenter属性设置为“False”,则可利用鼠标移动模型原点。若要移动模型原点,则点击模型原点的十字光标,并将其拖动到某个新的位置。利用鼠标移动了模型原点时,模型原点将设为用像素表示。要以亚像素设置模型原点,请在属性列表中进行设置。
在当前正在处理的模型中,找到一个合适的点,并将其设置为模型原点,将会十分便利。例如,将模型原点设置为机器人抓取零件的位置。