第一篇 CogPMAlignTool 模板匹配工具
文章目录
功能
- 图像特征定位、高精度模板匹配
- 训练模板,匹配与模板相近的区域,得到区域的坐标、匹配的个数等。
原理
- CogPMAlignTool基于Cognex独有的PatMax算法,该算法能够在复杂场景下实现稳定的模板匹配。它自动提取模板图像中的关键特征点,并在实时图像中搜索这些特征点,通过精确的仿射变换,实现对目标物体的精确定位和姿态调整。
参数
训练参数
*算法
算法之间的区别:
- PatQuick:此算法速度最快,对于3维或者低质量元件效果更佳,能承受更多的图像差异。
- PatMax:这是Cognex独有的算法,能够在复杂背景、部分遮挡和视角变化等情况下进行鲁棒的模板匹配,具有高精度和强适应性。
- PatFlex:为高灵敏度的图案设计,在弯曲不平的表面表现更佳,灵活但可能不够精确。
- PatQuick速度最快,适用于3维或低质量元件;PatMax精确度最高,最适合于细微细节;PatFlex则适用于高度灵活的图案设计,但在弯曲不平的表面表现较佳,且不够精确。
默认使用的是PatMax 与 PatQuick
忽略极性
极性:表示特征边界点是从黑到白还是从白到黑,忽略极性可以增加模型的多样性。
忽略极性是影响匹配结果的一个因素,勾选忽略极性通常会造成匹配结果的数量增加
运行参数
运行参数中的每一项参数的改动都可能会导致匹配结果的改变
查找概数
即可以匹配查找到的结果的大概数量
通常在匹配结果不止一个时修改
接受阈值
根据模板找到的每一个结果都有一个拟合值的分数,指定结果分数的接受阈值,仅接受分数大于或等于此值的结果。
可以结合匹配结果的分数来通过改变阈值来获取更多或更少的结果
角度
设置匹配区域的旋转角度,指定PMAlign执行样板搜索时允许的旋转角度
当匹配的区域位置会旋转时设置,设置为-180°~180°
如图,查找曲别针数量,可以看出每一个曲别针放置的角度不同,因此需要改变模板允许旋转的角度
*缩放
当物品型状相同,大小不同时修改,通常不修改此参数
计分时考虑杂斑
杂斑通常指的是图像中的背景噪声、干扰点或不规则纹理,它们可能来自图像采集过程中的各种因素,如光照变化、传感器噪声、灰尘等。在模板匹配过程中,如果不对杂斑进行处理,它们可能会干扰匹配算法,导致匹配结果不准确或产生误匹配。
选中此选项会增加匹配的精确性和稳定性,通常会使得匹配结果减少
掩模与建模
通常在使用中,掩模的使用次数要大于建模
掩模
- 定义
在CogPMAlignTool中,掩模是一种用于屏蔽图像中特定区域的工具。通过指定一个区域,并将该区域内的像素值置为0,可以屏蔽掉这些区域的特征,从而减小干扰因素对图像匹配结果的影响。 - 作用
掩模主要用于消除掉框选区域的不重要特征,提高图像匹配的准确性和稳定性。 - 步骤
- 选择掩模
- 框选要掩模的区域并点击应用确认
- 选择掩模
建模
-
定义
在CogPMAlignTool中,建模是指训练一个模型,该模型能够识别并匹配输入图像中的特定特征。 -
作用
建模是图像匹配过程的基础,通过训练得到的模型可以在运行时图像上查询一个或多个已训练的模型,从而实现图像特征的快速定位和匹配。 -
步骤
- 修改训练模式并选择建模(修改训练模式前,建模无法选择)
- 选择添加型状
- 框选图像并提取型状
- 删除多余的部分
- 得到建立的模型并关闭建模界面
- 修改训练区域的区域模式为像素配对限定框
- 并勾选忽略极性
- 修改训练模式并选择建模(修改训练模式前,建模无法选择)
-
可以看出建模的流程要远复杂与掩模,这也是掩模比较常用的原因之一
使用步骤
- 添加模板匹配工具到工具栏
- 传入符合格式的图像
- 抓取训练图像并选择训练图像
- 调整模板区域和中心原点
- 结合案例需求掩模建模及调整运行参数
- *结合案例修改匹配区域
- *修改输出图像的训练特征和显示结果
- 调整好参数后点击训练和运行
常用数据集
Results 结果集
- 模板匹配到的数量 Result.Count
- 匹配到的区域的坐标和旋转角度
- Result.[i].GetPose().TranslationX、Result.[i].GetPose().TranslationY
- Result.[i].GetPose().Rotation
*Pattern训练数据集
- 训练模板的图像 Pattern.GetTrainedPatternImage()
注意事项
1.训练图像不支持彩色,只支持灰度图像,需要将非灰度图像通过CogImageConvertTool工具转换成灰度图像
当对彩色图像匹配训练时,会提示不支持该图像类型