VisionPro-PMA工具
模板匹配的核心概念
康耐视(Cognex)的VisionPro是一款广泛应用工业自动化的机器视觉软件平台,其模板匹配(Pattern Matching)功能是核心工具之一,常用与目标定位、特征识别和质量检测等场景。
模板匹配:通过预先定义的参考(模板),在实时图像中快速定位相似区域。
适用场景:定位工件、验证特征是否存在、检测位置偏移、二维码/条形码定位。
核心技术:VisionPro的PatMax和PatFlex算法是其核心专利技术,具有高精度和控干扰能力,支持旋转、缩放、光照变化和部分遮挡。
熟悉模板
步骤1:选择Image Source添加图像来源;
步骤2:模板匹配工具主体;
步骤3:ToolGroup(工具组)的输出是指将多个视觉工具(如PatMax、Caliper、Blob等)组合成一个逻辑单元后,该组工具对外暴露的结果数据。
CogPMAlignTool
InputImage:添加图片来源
Results.Item[0].GetPose():方法返回的是一个表示匹配结果位置和方向的变换矩阵,通常是一个CogTransform2DLinear
类型的对象。
Results.Item[0].GetPose().TranslationX:这些值指的是模板匹配后原点坐标在原始图像像素坐标之后的位置。
Results.Item[0].GetPose().TranslationY:和TranslationX一样。
Results.Item[0].GetPose().Rotation:这是模板匹配后的旋转角度。
Results.Item[0].Score:这是一个分数值,用来评估匹配的质量。分数越高,意味着匹配越准确。
- 抓取训练图像
- 选着
Current.TranImage
- 适应图像–>中心原点–>训练区域–>区域形状–>所选空间名称–>选择模式–>查看原点、边长、旋转、倾斜–>查看训练原点内部:所选空间名称、原点、边长、旋转、倾斜。
- 根据模板类型选择区域形状。
- 角度:用户可以设定查找的角度范围以及步长。例如,如果你预计目标物体可能会有±15度的旋转,那么你可以在工具设置中指定这个角度范围。
- 缩放:用户需要定义查找的缩放范围。如果目标物体可能会有不同的尺寸,那么就需要设置适当的最小和最大缩放比例来确保能够正确识别目标。
- 查找概述:根据物品多少来决定检测数量,如果查找概述和实际数量不匹配会出现物品不足。
- 接受阈值:这是用来决定是否接受某个匹配结果的一个分数阈值,只有得分高于此阈值的结果才会被认为时有效的匹配。
- 计分时考虑杂斑:如果选择计分时考虑杂斑,这些非目标特征将会影响最终的得分值,导致得分较低没因为他们被视为不想管的信息而拉低了整体匹配的质量评分。
其他内容根据实际情况选择。
- 可选
- 上方步骤完成后可选择训练,完成模板匹配,如一些模板无法匹配可以根据上方步骤进行调整;最终效果能够实现请不要轻易更改内容该页面内容。
- 忽略极性:使用在多变的光照条件呈现亮度不同、对象表面特性反射率或吸收了率不同和图案设计复杂性凸显元素和纹理。
- 如常用该模板可以进行保存模式,下次或数据一样可以选择加载模式使用之前模板数据。
模板算法:
算法 | 描述 |
---|---|
PatMax | 基于集合特征的匹配,适用于高精度、复杂形状的定位,支持选择、缩放和透视变换 |
PatFlex | 针对柔性变形或表面纹理变化的场景(软包装、橡胶件) |
PatQuick | 快速匹配,适用于对速度要求较高,但精度略低 |
PatMax与PatQuick | PatMax与PatQuick充分发挥两者的优势,在速度、精度和鲁棒性之间实现平衡 |
patMax - 高灵敏度 | 目标特征微弱,微小特征检测(如芯片引脚、精密焊点) |
透视 PatMax | 传统PatMax支持旋转、缩放,但**透视变形(如倾斜视角)**需要更高级算法, PatMax Pro(或部分版本中的“透视模式”)通过仿射变换或投影变换模型支持透视校正 |
- List item
模板匹配成功后可以在结果中查看模板结果
CogFixtyreTool
CogFixtyreTool工具用于建立定位坐标系。
- InputImage:指的是用于进行坐标系转换和对齐操作的输入图像。
- RunParams.UnfixturedFromFixturedTransform:它代表了一个从固定坐标系到未固定坐标系的变换。
- RunParams.UnfixturedFromFixturedTransform.TranslationX:它代表了从固定坐标系到未固定坐标系变换中的 X 轴方向上的平移量。换句话说,它是用来描述目标对象在新的坐标系下相对于原坐标系沿水平方向(X轴)移动了多少距离。
- RunParams.UnfixturedFromFixturedTransform.TranslationY:它代表了从固定坐标系到未固定坐标系变换中的 Y 轴方向上的平移量。换句话说,它是用来描述目标对象在新的坐标系下相对于原坐标系沿水平方向(Y轴)移动了多少距离。
- RunParams.UnfixturedFromFixturedTransform.Rotation:这个属性表示的是从固定坐标系(Fixtured Coordinate Space)到未固定坐标系(Unfixtured Coordinate Space)之间的旋转变换角度。
- OutputImage:是一个重要的输出参数,它代表了经过坐标变换后生成的新图像。
te Space)到未固定坐标系(Unfixtured Coordinate Space)之间的旋转变换角度。
- OutputImage:是一个重要的输出参数,它代表了经过坐标变换后生成的新图像。