图像定位匹配方法
- 格式:doc
- 大小:558.00 KB
- 文档页数:5
随机信号分析课程应用实例
——图像定位匹配方法
一、互相关函数
互相关函数分析两个不同随机过程在不同时刻其状态的相关程度。
两个随机变量X(t),Y(t)的互相关函数为:
1212(,)[()()]XY R t t E X t Y t = (1.1)
相关系数为:
c o v (,)[()()]
..x Y
XY X Y X Y
X Y E X Y --=
=
μμρσσσσ
(1.2)
在图像处理中,反映的是两个函数在不同相对位置上互相匹配的程度。
当有
两幅图(,)f x y 与(,)t x y ,如果它们的均值和方差分别为2(
,)f f μσ,2
(,)f t μσ则归一化互相关函数定义为:
((,))((,))
(,)f
t f x y t x y R x y --=
∑μ
μ(1.3)
当随机变量有有限个样本点时:
,((,))((,))1
(,)1f t x y f t
f x y t x y R x y n --=-∑μμσ .σ (1.4)
图像(,)f x y ,(,)t x y 减去均值,具有亮度不变形,再除以标准差,具有了对比度不变性。
二、应用实例
1.背景:
图像匹配是将不同时间、不同传感器(成像设备)或不同条件下(天候、照度、摄像位置和角度等)获取的两幅或多幅图像进行匹配,在一幅图像中寻找与另一幅图像(较小)最匹配区域的技术。
互相关值可以作为图像匹配中的相似性度量值。
把匹配图看做较小的模板图像,滑动模板图,在参考图上逐像素地计算互相关值。
为了检测最匹配的区域,相关系数最大的地方就是两幅图最相似的地方。
如图:
仿真结果:
(a)
(b)
(c)
(4)小结
如图a和c是两幅不同时刻获取的图像,b图是从a图上截取的一块模板区域,从测试结果图c可以看到,匹配结果的区域(红框)和匹配图b相一致,说明该区域与匹配图的相关程度最大。
3D图像是互相关系数的曲面图,图中最高点即是最大互相关处。
利用归一化互相关函数在图像处理中具有亮度和对比度上稳定性的特点,将其作为一种相似性度量的检测量,以匹配图为滑动的模板对参考图逐行逐列计算互相关系数,互相关系数最大处就是相似度最大的区域。
这样就可以完成图像的定位匹配。
参考文献
[1]高展宏, 徐文波. 基于MATLAB的图像处理案例教程. 清华大学出版社.2011
[2]Lewis. J. p. Fast Normalized Cross-Correlation for image matching . Industrial
Light &Magic
[3]王岩松,阮秋琦.一种基于互相关的图像定位匹配算法研究及应用.北方交通
大学学报.2002(26)
附录:
Variable: pic 参考图
mask 匹配图
height_mask 匹配图高度
width_mask 匹配图宽度
ypeak 最大互相关y坐标
xpeak 最大互相关x坐标
yoffset 匹配结果区域的y坐标
xoffset 匹配结果区域的x坐标
说明:匹配图是从参考图中获取的一块子区域,用以匹配用。
pic=rgb2gray(imread('pic1.jpg')); %获取参考图1的灰度图像
pic_move=rgb2gray(imread('pic2.jpg'));%获取经平移参考图1的灰度图像
mask_=imcrop(pic_move); %获取匹配图的灰度图像
[height_mask,width_mask]=size(mask); % 匹配图的尺寸,返回值行数与列数[height_pic,width_pic]=size(pic); %参考图尺寸
figure,imshow(pic);
hold on;
c=normxcorr2(mask,pic); %计算归一化互相关,返回值为包含
互相关系数(-1.0~1.0)的二维矩阵[ypeak,xpeak]=find(c==max(c(:))); %获取最大互相关处的坐标yoffset = ypeak-size(mask,1); %定位匹配区域y坐标
xoffset = xpeak-size(mask,2); %定位匹配区域x坐标
plot(xoffset:xoffset+size(mask,2),yoffset,'r'); %绘出匹配结果的区域
plot(xoffset:xoffset+size(mask,2),yoffset+size(mask,1),'r');
plot(xoffset,yoffset:yoffset+size(mask,1),'r');
plot(xoffset+size(mask,2),yoffset:yoffset+size(mask,1),'r');
hold on;
gtext('(a)');
figure,imshow(mask); %显示需要匹配的图
hold on;
gtext('(b)');
figure,surf(c),shading flat; %归一化互相关函数的3D曲面图hold on;。