图像处理中的定位方法
我们经常会遇到一些新手,如何做定位的项目。对于这个问题,我们要先看看什么是定位。定位,就是找到目标的位置,一般来讲会包含了坐标点以及角度信息。在二维平面上表示,就是坐标点的X坐标、Y坐标,以及某个特征在图像中的角度A。坐标可以确定目标在图像中的位置,而角度则可以确定目标在视野中的方向。有了这三个值,基本上就可以定位了。当然对于一些特殊的特征,如圆,则只需要坐标即可,不需要角度(没角度可言)。
那么在实际图像处理时,到底怎么去定位呢?这个是很多同学关心的问题。基于上面的定位解释,其实可以实现定位的方法很多种,但是根本的目标是需要找到坐标点(X、Y),以及角度A。这样才能实现定位。
在NI VISION中,有多种方法可以实现定位。比较常见的方法有模式匹配、几何匹配、粒子分析、找边找圆求交点、OCR等等。具体实现时,使用什么方法,需要根据具体的项目来分析。并没有一个固定的方法来应对定位的视觉项目。而且在使用方法时,还需要考虑实际需要的定位精度。一般来讲使用模板查找特征的方法,如匹配、OCR的定位精度会低一些,粒子分析因为是根本粒子的整体效果来考虑的,粒子在成像时会有一定的变化,精度也不会太高。找圆、找边等利用大量的边缘点来求线的方法精度会高一些。
模式匹配定位
在模式匹配中,结果会直接输出其坐标点和角度信息。
查找两条直边再求交点
上面的方法是查找两条直边,然后利用两条直边的交点定位点位置,再利用某条直边的角度,来充当定位的角度信息即可。
找圆定位
上面的方法是使用找圆函数来定位的。如果单纯使用找圆函数,则只能定位到X、Y坐标,并没有角度信息,如果需要角度则还需要另外找一条边来确定角度。如果图像中有固定位置的多个圆,则可以再找一个圆,利用两个圆的圆心来连线,这样得到一条直线也可以获得角度。
利用上面的介绍的一些方法,或其它类似的方法,得到X、Y、A后,将这些数据传递给运动执行机构,即可实现定位的基本功能。