matlab halcon,Halcon-Matlab 图像匹配

图像匹配

这是导师吩咐的第二个重点看的图像内容,也跟大家分享一下学习笔记吧。学习的材料主要是halcon的教程和Digital Image Processing(Matlab)教材。

先说简单的吧,,matlab的图像处理的函数库里,有几个图像配准的函数,分别是cpselect, cp2tform, visreg, normxcorr2. 书上主要介绍了,基于点的匹配(手动匹配),基于区域的匹配。配准处理(Registration Process)包括四个步骤。1:特征检测;2:匹配相应特征;3:推断几何变换;4:运用几何变换去将一幅图像对准到另一幅图像。

1)基于点的匹配,对读入的模板,和原图像,就是手动的点匹配,使用cpselect.

0818b9ca8b590ca3270a3433284dd417.png

2)之后推断变换参数使用cp2tform

3)最后可视化使用visreg

0818b9ca8b590ca3270a3433284dd417.png

现在介绍Halcon的教程里关于模板匹配的知识,里面很多模板匹配的内容,有基于灰度值,基于形状,基于相关性,基于元件等。

1)基于灰度值的模板匹配

1.相似度量方法:SAD(模板与图像之间的差值的绝对值的总和)&SSD(模板与图像之间的差值的平方和)

主要受到光照影响较大,鲁棒性不好。

2.归一化互相关系数:  NCC(Normalized Cross-correlation)

0818b9ca8b590ca3270a3433284dd417.png

2)使用图形金字塔进行匹配

1.利用2x2的均值滤波器来创建图像金字塔。

2.从最顶层开始匹配->收索下一层的区域定位5x5,再匹配->直到找不到匹配的结果或者最底层结束。

3)基于灰度值的亚像素精度匹配

借鉴于边缘提取,将局部最小值或最大值附近的3x3的领域内的相似度了拟合一个多项式。然后求解得到该多项式的局部最大值或最小值。

4)带旋转与缩放的模板匹配

创建多个方向的模板,只在图像金字塔的最高层进行图像匹配,匹配所有可能选择角度的模板。

5)可靠的模板匹配

1基于边缘匹配物体存在的集中策略

a匹配中使用原始边缘点,或增加每个点的一些特性。

b将边缘分割为多个几何基元,然后在图像中匹配这些分割的几何基元。

c 基于边缘的分割,可以得到边缘点的突变点,然后匹配这些突变点。

6)边缘匹配算法中的一大类是基于模板边缘与图像边缘的距离

0818b9ca8b590ca3270a3433284dd417.png

当目标受遮挡是,鲁棒性不好。

1.广义霍夫变换:

创建一个表格R-table,以梯度角度作为索引,每个表格中包含模板边缘点,梯度角度对应的所有偏移向量.

使用R-table就可以在搜素过程中非常简单找到偏移向量,然后累计数组中相应的元素:简单计算图像中边缘的梯度方向并且用这个方向作为R-table的索引。在创建了累计数组后,对数组进行阈值分割,并提取局部最大值作为目标物的可能位置。

7)边缘匹配算法中另一大类是基于几何基元的

1.几何哈希法:基于三个不共线的点可以表示平面的其他所有点。

0818b9ca8b590ca3270a3433284dd417.png

哈希表的建立:对于模板边缘上每三个不共线的点,计算模板中其他m-3个点的仿射坐标,这个仿射坐标将作为哈希表的索引。

2.直接在图像中匹配集合基元本身

a通过首先匹配拥有独特几何特征的部分来降低复杂度。

b使用模板中的一个特殊线段在图像中寻找匹配的线段。

8)基于形状的模板匹配:一种基于像素的可靠的模板匹配算法。

定义坐标为相对于感兴趣区域重心的相对坐标或相对于模板中所有点重心的相对坐标。为每个点关联的方向向量。(边缘滤波运算可以得到每个图像点的方向向量)

0818b9ca8b590ca3270a3433284dd417.png

以上是我的学习笔记,还是学到很多基础性的知识,希望大家互相学习,互相进步。

你可能感兴趣的:(matlab,halcon)