本文基于相关性分析来实现图像匹配
第一步:读取图像。
分别读取以下两幅相似的图片,显示效果如下:
第二步:选择一副图像的子区域。用户可以通过鼠标选择需要截取的图像部分,用于匹配。 随机选取图片的一块区域,如下图:
第三步:使用相关性分析两幅图像
采用协方差的方式计算相关系数,分析图片的相似性。 1.协方差与相关系数的概念
对于二维随机变量(X,Y),除了关心它的各个分量的数学期望和方差外,还需要知道这两个分量之间的相互关系,这种关系无法从各个分量的期望和方差来说明,这就需要引进描述这两个分量之间相互关系的数字特征——协方差及相关系数。 若X与Y相互独立,则
E???X?EX??Y?EY????Y?DY?0;若E???X?EX??Y?EY????0,则表
示X与Y不独立,X与Y之间存在着一定的关系
设 (X,Y) 是二维随机变量, 则称E?????X?EX??Y?EY?为X与Y的协方差(Covariance),记为 cov?X,Y?或?XY,即
cov?X,Y???XY?E???X?EX??Y?EY???
若
?X?DX?0且?Y?DY?0,则称
?XYcov(X,Y)?
?X?YDX?DY
?XY?为X与Y的相关系数(Correlation Coefficient)。ocv,?XY?是 有量纲的量,而?XY则是无量纲的量.协方差常用下列公式计算
cov?X,Y??E?XY??EX?EY
2.用全搜索和协方差计算截取图片与另外一幅图片的各点的相似度。
c=normxcorr2(sub_I1(:,:,1),I2(:,:,1));
第四步:找到整幅图像的偏移。
[max_c,imax]=max(abs(c(:)));
[ypeak,xpeak]=ind2sub(size(c),imax(1));
[m,n]=size(sub_I1); xbegin=xpeak-n+1; ybegin=ypeak-m+1; xend=xpeak; yend=ypeak;
从原图像提取匹配到的图像
extracted_I1=I2(ybegin:yend,xbegin:xend,:);
第五步:显示匹配结果。 相关性匹配图:
找出峰值即最相似区域的中心