当前位置:文档之家› 数字图像处理 图像匹配

数字图像处理 图像匹配

摘要图像匹配是图像处理技术中的重要研究内容。

文本介绍了图像匹配技术的要素,对匹配算法的分类以及匹配性能评价指标,并且将各方法进行了分析比较,指出其各自的优势与不足。

同时,进一步探讨了图像匹配算法中有待研究的方向。

图像匹配是将不同时间、不同传感器、不同视角及不同拍摄条件下获取的两幅或多幅图像进行匹配融合。

图像匹配是多种图像处理及应用如物体辨识、变化检测、三维建模等的基础。

图像匹配的方法有很多种,其中基于图像特征的图像匹配是匹配中最常见的方法。

基于特征的图像匹配中,特征主要针对点特征。

基于点特征的图像匹配,特征点的提取是图像匹配的关键步骤,从提取效率、算子稳定性、定位准确性、抗噪性、计算效率上对提取算子进行分析比对,用测试图像对各个提取算子进行实验分析,得出实验结论。

通过特征点匹配算法需满足的三个原则对基于奇异值分解的角点匹配法进行了分析,得出了实验结论。

关键词:图像匹配;传感器;特征;过特征点匹配目录1.设计的要求与目的 ..................................................................................................................................... I I1.1题目 (1)1.2 设计要求 (1)1.3设计目的: (1)1.4性能、接口: (1)2.设计原理 (2)2.1概念解释: (2)2.2数字图像匹配算法设计 (2)2.2.1基于灰度的摸版匹配算法 (3)2.2.2局部灰度特征的编码与计算 (4)3. 设计方案 (6)3.1设计思想 (6)3.2设计流程 (6)4.应用程序设计 (7)4.1程序代码 (7)4.1.1读取原图像过程 (7)4.1.2取特征点 (8)4.1.3映射函数 (8)4.1.4图像匹配 (8)4.1.5输出匹配后图像 (9)4.2界面设计 (10)5.仿真与结果分析 (10)5.1仿真分析 (10)5.2结果分析 (10)结论 (12)参考文献 (13)1.设计的要求与目的1.1题目用特征匹配算法实现数字图像匹配1.2 设计要求所谓图像匹配,就是指图像之间的比较、得到不同图像之间的相似度。

基于数字图像,编写对两副数字图像进行匹配的算法及演示程序。

基本要求: (1).进行匹配的两幅图像为JPG格式或BMP格式。

(2).能够进行对两幅数字图像的匹配。

(3).采用交互式程序对图像进行匹配。

提高要求:能够对数字进行简单处理,例如放大,缩小,翻转,灰度处理,图象二值化。

开发环境:MATLAB 7.1 GUI:MATLAB 7.1自带的GUI界面编辑器1.3设计目的:通过分析题目的基本要求,我将此软件的基本功能主要分为2大模块:一个是数字图像处理模块,另一个是数字图像匹配模块。

在数字图像处理模块中,用户可以对数字图像进行简单的处理,可以对图像进行放大,缩小,翻转,灰度处理。

在数字图像匹配模块中,用户可以对两张图像进行匹配并显示匹配结果。

1.4性能、接口:输入/输出形式:此软件以MATLAB7.1 GUI编辑器开发出的界面作为载体对相映的图像行相应的操作,所以输入输出形式主要是通过MATLAB7.1 GUI编辑器开发出的界面来实现的。

输入形式:输入任何一幅JPG格式或BMP格式的数字图像。

输出形式:将经过相应操作处理后的图片显示出来。

测试数据要求: 任何一幅JPG格式或BMP格式的数字图像。

2.设计原理2.1概念解释:①数字图像:数字图像是由被称做像素的小块区域组成的二维像素矩阵。

一般把图像分成3种形式:单色图像,灰度图像和彩色图像。

②像素:表示图像颜色的最小单位③灰度图像:灰度图是指只含亮度信息,不含色彩信息的图像,就像平时看到的黑白照片:亮度由暗到明,变化是连续的。

灰度图的每个像素的亮度用一个数值来表示,通常数值范围在0—255之间,即可用一个字节来表示,0表示黑,255表示白,而其他表示灰度。

④点阵图:显示器的屏幕由可以发光的像素点组成. 并且从几何位置看, 所用这些像素点构成一个矩形的阵列.利用计算机控制各像素点按我们指定的要求发光,就构成了我们需要的图形.这种方式构成的图形我们可称之为点阵图形.⑤点阵图形的坐标系统:各像素点有一个坐标唯一指定了它的位置.如果点阵图形的大小是N×M, 那么它的点阵共有M行N 列, 每个像素点的位置就由它所在的行和列的位置所唯一确定. 这个行和列的位置就给出了点阵图形的坐标系统. 按照前面的顺序, 第m行, 第n列的像素点顺序数就是m+(n-1)N.反之, 顺序数为s的像素点在第s Mod N行, 第Int(s/N ) + 1列, 这里的s Mod N是s除以N后的余数, Int( s/N ) 是s/N的整数部分.需要注意的是第m行, 第n列的像素点的坐标可能不是(m; n), 而是(m-1; n-1). 这是因为有时为了在计算机中处理的方便, 像素点的行列的排序不是从1, 而是从0开始的.我们常用的显示器的像素坐标就是如此.2.2数字图像匹配算法设计在此软件中我采用了两种图像匹配算法:①基于灰度的模板匹配算法②基于灰度的快速匹配算法。

由于各种各样的原因如(成象条件的差异)图象预处理,引入的误差等,参与图象匹配的模板与潜在的匹配子图象间通常存在着程度不同的不一致,因此根据模板在一幅陌生图象中检测出潜在的匹配对象并得出它在图象中的位置是一件复杂的工作。

2.2.1基于灰度的摸版匹配算法模板匹配是指用一个较小的图像,即模板与源图像进行比较,以确定在源图像中是否存在与该模板相同或相似的区域,若该区域存在,还可确定其位置并提取该区域。

模板匹配常用的一种测度为模手术台与源图像对应区域的误差平方和。

设f(x,y)为M ×N 的源图像,t(j,k)为J ×K(J ≤M,K ≤N)的模板图像,则误差平方和测度定义为:11200(,)[(,)(,)]J K j k D x y f x j y k t j k --===++-∑∑ (2.1)由上式展开可得:111111220000(,)[(,)]2(,)(,)[(,)]J K J K J K j k jkj k D x y f x j y k t j k f x j y k t j k ------=====++-⋅+++∑∑∑∑∑∑(2.2)11200(,)[(,)]J K j k DS x y f x j y k --===++∑∑ (2.3)1100(,)2[(,)(,)]J K j k DST x y t j k f x j y k --===⋅++∑∑ (2.4)11200(,)[(,)]J K j k DT x y t j k --===∑∑ (2.5)DS (x ,y )称为源图像中与模板对应区域的能量,它与像素位置(x ,y )有关,但随像素位置(x ,y )的变化,DS (x ,y )变化缓慢。

DST (x ,y )模板与源图像对应区域的互相关,它随像素位置(x ,y )的变化而变化,当模板t(j ,k)和源图像中对应区域相匹配时取最大值。

DT (x ,y )称为模板的能量,它与图像像素位置(x ,y )无关,只用一次计算便可。

显然,计算误差平方和测度可以减少计算量。

基于上述分析,若设DS (x ,y )也为常数,则用DST (x ,y )便可进行图像匹配,当DST (x ,y )取最大值时,便可认为模板与图像是匹配的。

但假设DS (x ,y )为常数会产生误差,严重时将无法下确匹配,因此可用归一化互相关作为误差平方和测度,其定义为:11(,)(,)(,)J K t j k f x j y k R x y --⋅++=∑∑ (2.6)下图给出了模板匹配的示意图,其中假设源图像f(x,y)和模板图像t(k,l)的原点都在左上角。

对任何一个f(x,y)中的(x,y),根据上式都可以算得一个R(x,y).当x 和y 变化时,t(j,k)在源图像区域中移动并得出R(x,y)所有值。

R(x,y)的最大值指出了与t(j,k)匹配的最佳位置,若从该位置开始在源图像中取出与模板大小相同的一个区域,便可得到匹配图像。

2-1匹配图像⑵基于灰度的快速匹配算法 2.2.2局部灰度特征的编码与计算首先将整幅图像划分为k ×k 尺寸且互不重叠的方块,k 可根据问题任意选择,称该方块为R-块.如果图像的边长不是k 的整数倍,则将最底部与最右边剩余的几行、几列裁剪掉(下文将说明这并不影响最终的匹配结果).对边长为H 的图像,共可得到 H 2/k 2个R-块.对于R-块R i ,S(R i )表示R i 所包含像素的灰度值之和.定义1. R-块(如图2-2中的R 5所示)与其周围8个相邻的R-块(如图2中的R 1,R 2,R 3,R 4,R 6,R 7,R 8,R 9所示)组成R-块的邻域.将R-块的邻域分为4个部分,分别为D 1,D2,D3,D4(如图2-2所示),称为R-块的D-邻域.R-块R5分别属于4个D-邻域,即D1=R1∪R2∪R 4∪R5;D2=R4∪R5∪R7∪R8;D3=R5∪R6∪R8∪R9;D4=R2∪R3∪R5∪R6.对于每个D-邻域中的4个R-块,可规定一个顺序(如图2-3中所取的逆时针序).对Dj所包含的4个R-块的像素灰度值之和S(Rj1),S(Rj2),S(Rj3),S(Rj4)做排序,显然共有4!=24种可能,每种排序结果可以用5位的二进制编码来表示,记作P(Dj)∈{00000,00001,…,10111}.图2-2划分2-3划分后的区域将R-块Ri 所在的4个D-块的P(Dj)做位串拼接,得到F(Ri)=P(D1)P(D2)P(D3)P(D4),即F(Ri)=(P(D1)<<15)+(P(D2)<<10)+(P(D3)<<5)+P(D4).其中,P(Dj )为Ri所在的邻域Dj的二进编码,<<为移位操作,其后面的数字表示移位位数.定义2. F(Ri )为Ri块的20位二进制编码特征表示,简称Ri块的编码.对一幅图像,提取它所有Ri 块的编码,需要计算各个R-块的灰度值和S(Ri)、计算各个D-邻域的编码P(Dj )、计算各个Ri块的编码F(Ri)等共3步.图像最外一圈的Ri块的编码无定义.对于边长为H的图像,上述运算的时间复杂度为O(H2).显然,F(Ri )表示R-块Ri的灰度与相邻8个R-块灰度的分布(序)关系,体现了图像灰度的相对值,因此对整体灰度值的变化具有相对的稳定性.通过对R-块尺寸k的选择,可以改变图像处理粒度的大小,以改变抵抗不同频率噪声的能力.3. 设计方案3.1设计思想定义3. 在待搜索图S上以模板T的长、宽为横向、纵向步长,从S的左上角开始按模板T的大小划分S得到的子图称为限制块,记作C i, j,其中(i,j)为限制块左上角顶点在搜索图S上的坐标.这样划分后,如果在搜索图S的右侧或底部有剩余部分,则相应地从S的最右侧开始向左,或从最底部开始向上划分出一列或一行限制块,使得全部限制块可以完全覆盖搜索图S.这样得到的图S上的限制块的数量为M2/H2。

相关主题