数字图像匹配_第1页
数字图像匹配_第2页
数字图像匹配_第3页
数字图像匹配_第4页
数字图像匹配_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字图像匹配一.需求分析题目:数字图像匹配问题描述:所谓图像匹配,就是指图像之间的比较、得到不同图像之间的相似度。基于数字图像,编写对两副数字图像进行匹配的算法及演示程序。基本要求进行匹配的两幅图像为格式或格式。能够进行对两幅数字图像的匹配。(3采)用.交互式程序对图像进行匹配。提高要求:能够对数字进行简单处理,例如放大,缩小,翻转,灰度处理,图象二值化。开发环境:自带的界面编辑器基本功能:通过分析题目的基本要求,我将此软件的基本功能主要分为2大模块:一个是数字图像处理模块,另一个是数字图像匹配模块。在数字图像处理模块中,用户可以对数字图像进行简单的处理,可以对图像进行放大,缩小,翻转,灰度处

2、理。在数字图像匹配模块中,用户可以对两张图像进行匹配并显示匹配结果。性能、接口:输入输出形式此软件以编辑器开发出的界面作为载体对相映的图像行相应的操作,所以输入输出形式主要是通过编辑器开发出的界面来实现的。输入形式:输入任何一幅格式或格式的数字图像。输出形式:将经过相应操作处理后的图片显示出来。测试数据要求任何一幅格式或格式的数字图像。二算法设计1.概念解释:数字图像数字图像是由被称做像素的小块区域组成的二维像素矩阵。一般把图像分成3种形式:单色图像,灰度图像和彩色图像。像素:表示图像颜色的最小单位灰度图像:灰度图是指只含亮度信息,不含色彩信息的图像,就像平时看到的黑白照片:亮度由暗到明,变化

3、是连续的。灰度图的每个像素的亮度用一个数值来表示,通常数值范围在025之5间,即可用一个字节来表示,0表示黑,25表示白,而其他表示灰度。点阵图:显示器的屏幕由可以发光的像素点组成.并且从几何位置看,所用这些像素点构成一个矩形的阵列.利用计算机控制各像素点按我们指定的要求发光,就构成了我们需要的图形.这种方式构成的图形我们可称之为点阵图形.点阵图形的坐标系统:各像素点有一个坐标唯一指定了它的位置如果点阵图形的大小是义那么它的点阵共有行列每个像素点的位置就由它所在的行和列的位置所唯一确定.这个行和列的位置就给出了点阵图形的坐标系统.按照前面的顺序第行第列的像素点顺序数就是反之顺序数为的像素点在第

4、行第列这里的是除以后的余数是的整数部分需要注意的是第行第列的像素点的坐标可能不是而是这是因为有时为了在计算机中处理的方便像素点的行列的排序不是从1,而是从0开始的.我们常用的显示器的像素坐标就是如此.2数字图像匹配算法设计:在此软件中我采用了两种图像匹配算法:基于灰度的模板匹配算法基于灰度的快速匹配算法。由于各种各样的原因如(成象条件的差异)图象预处理,引入的误差等,参与图象匹配的模板与潜在的匹配子图象间通常存在着程度不同的不一致,因此根据模板在一幅陌生图象中检测出潜在的匹配对象并得出它在图象中的位置是一件复杂的工作。基于灰度的摸版匹配算法模板匹配是指用一个较小的图像,即模板与源图像进行比较,

5、以确定在源图像中是否存在与该模板相同或相似的区域,若该区域存在,还可确定其位置并提取该区域。模板匹配常用的一种测度为模手术台与源图像对应区域的误差平方和。设为义的源图像,为义WW的模板图像则误差平方和测度定义为Dx,y)J1Kf(xj,y)(j,k)Rj10k10由上式展开可得:D(X,y)K11f(Xj,yk)22.t(j,k)If(xj,yk)t(j,k)2jIDkIDjkjIDkID令DS(x,y)f(xj,yk)RjkDST(x,y)2.t(j,k)胃(xj,yk)jkDT(x,y)t(j,k)2jknDS(x,y)称为源图像中与模板对应区域的能量,它与像素位置(x,y)有关,但随像素

6、位置(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)为常数会产生误差,严重时将无法下确匹配,因此可用归一化互相关作为误差平方和测度,其定义为:t(j,k)If(xj,yk)R(x,y)./.k

7、卬_产f(xj,yk)t(j,k)2j*k*j*k*下图给出了模板匹配的示意图,其中假设源图像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)匹配的最佳位置,若从该位置开始在源图像中取出与模板大小相同的一个区域,便可得到匹配图像。基于灰度的快速匹配算法1局部灰度特征的编码与计算首先将整幅图像划分为X尺寸且互不重叠的方块,可根据问题任意选择,称该方块为块.如果图像的边长不是的整数倍,则将最底部与最右边剩余的几

8、行、几列裁剪掉下文将说明这并不影响最终的匹配结果对边长为的图像,共可得到个块.对于块,表示所包含像素的灰度值之和.定义1.块如图1中的所示与其周围个相邻的块如图1中的,所示组成块的邻域.将块的邻域分为个部分,分别为12346789,如图1所示称为块的邻域.块分别属于个邻域,即1234511uUUUUUUUUUUU.245245783568942356对于每个邻域中的个块,可规定一个顺序如图中所取的逆时针序对所包含的个块的像素灰度值之和,RR做排序,显然jj1j2j3j4共有种可能,每种排序结果可以用位的二进制编码来表示,记作0000,00001,10111.图将块所在的个块的做位串拼接得到即,

9、TOC o 1-5 h z其中为所在的邻域的二进编码为移位操作其后面的数字表示移位jij位数.定义为块的位二进制编码特征表示简称块的编码iii对一幅图像提取它所有块的编码需要计算各个块的灰度值和、计ii算各个邻域的编码、计算各个块的编码等共步图像最外一圈的jii块的编码无定义对于边长为的图像上述运算的时间复杂度为i显然表示块的灰度与相邻个块灰度的分布序关系体现了图ii像灰度的相对值因此对整体灰度值的变化具有相对的稳定性通过对块尺寸的选择,可以改变图像处理粒度的大小,以改变抵抗不同频率噪声的能力.2特征的匹配过程定义在待搜索图上以模板的长、宽为横向、纵向步长从的左上角开始按模板的大小划分得到的子

10、图称为限制块记作其中为限制块左上角顶点在搜索图上的坐标这样划分后如果在搜索图的右侧或底部有剩余部分则相应地从的最右侧开始向左或从最底部开始向上划分出一列或一行限制块使得全部限制块可以完全覆盖搜索图这样得到的图上的限制块的数量为H定义限制块与模板都是尺寸为义的图像各自的块特征集合用阶方阵与表示称为特征编码矩阵这里为块的边长在与作特征比较时即比较每一个元素与中每一个元素是否相等如果相等则记下矩阵中的行号、列号三应用程序设计:1数字图像匹配相关函数:函数功能:从图像文件等格式中读入图像数据。格式:文件名,(图像文件格式说明:文件名为指定图像文件名称的字符串。图像文件格式为图像文件格式的字符串。文件名

11、必须在当前目录或路径中,如果找不到则录找文件名图像文件格式为无符号位整数。如果文件灰度图像详细解释见“算法设计”中的“概念解释”)则为一个二维数组;如果文件是一个真彩色图像,则是一个三维数组lXX)。举例:读取存放在盘下的名为的图像,并将其整个点阵数据传给注:在中申请一个变量时不需要指定类型,其具体类型由系统自动判别函数功能:交图像写入图像文件(以等格式)。格式:文件名,图像文件格式说明:文件名为指定图像文件名称的字符串。图像文件格式是指定图像文件的保存格式的字符串。如果是一个无符号位整数表示的灰度图像或真彩色图像,直接交数组中的值写入文件。如果为双精度浮点数,首先使用自动将数组中的值变换为无

12、符号位整数,即交0,1范围内的浮点数变换为0,255范围内8位整数,然后写入文件。函数功能:图像显示格式:说明:在图形窗口显示,其中为用函数赋值的变量是一个图形矩阵。函数功能:转换图像或颜色映像表为灰度图像。格式:I=rgb2gray(RGB)说明:为用函数赋值的变量是一个图形矩阵;为一个表示灰度图像的二维数组。函数功能:图像剪裁格式:III说明:格式I为交互方式,显示输入图像,等待用户用鼠标定义要剪裁的矩形。格式I为非交互方式,对灰度图像进行非交互方式的剪裁操作,通过四元素向量指定剪裁矩阵,这些值是定义在坐标系中的,和是图像矩阵的一处坐标,是以此坐标为准向右的延伸的长度,是以此坐标为准向下延

13、伸的长度,由此构成要剪裁的矩形区域。函数功能:用来求出某一个变量的的大小参数格式说明:用函数赋值的变量是一个图形矩阵且为灰度图像,用来保存的高度值,用来保存的宽度值。2数字图像匹配函数:(1)基于灰度的摸板匹配算法函数功能:求图像均值格式:说明:函数可用来计算图像矩阵的均值是双精度标量。举例:m=mean2(I)运行结果:函数功能:求图像间相关系数格式:说明:函数计算图像矩阵与的相关系数,矩阵与的大小相同,如均为:X。计算公式如下:(ABA)(BB)TOC o 1-5 h zmnmn HYPERLINK l bookmark16 r,mn(AA)2).(BB)2) HYPERLINK l bo

14、okmark18 mnmnmnmn其中,AB。相关系数是表示矩阵与的线性联系密切程度的一个统谛睛系数值是小于等于的正数。值为时,表示矩阵与的线性联系最为密值为时,表示矩阵与不相关,线性联系最最弱。举例:,运行结果如下:函数功能:在线性坐标系中绘制二维数据格式:(颜色说明:可以为任意一个失量。举例:在纵坐标为处画一条平行于x由,长度为的红色的线段其中表示从到以默认值为的速度递增表示红色命令功能:可以交图形添加到现有的图形中,从而实现图形的叠加。如果交设置为,则在绘图时交不再清除已经存在的图形,而是交新的数据直接加到当前图形中。当新的数据落在原来的坐标范围之外时,交自动进行坐标比例的调整。功能:实

15、现两幅数字图像的匹配实现细节:I读取原图像搜索图和匹配图像(模板图)读取原图像读取匹配图像II将原图像和匹配图像灰度化,以便于计算将原图灰度化将匹配图灰度化III获取原图像和匹配图像的尺寸获取匹配图象的大小尺寸,其值为高,宽将匹配图象的长度值赋给将匹配图象的宽度值赋给获取原图象的大小尺寸,其值为高,宽将原图象的长度值赋给将原图象的宽度值赋给w显示出原图,并调用w显示出原图,并调用命令,以实现以后在原图像上做标记显示原图像V在原图像上进行扫描,横坐标到原图像的宽度减去匹配图的宽度,纵坐标到原图像高度减去匹配图的高度;对于原图像上扫描到的每个像素点,以此像素点的坐标为准,剪裁参见函数说明出一个大小

16、和匹配图大小一样的矩阵,此像素点为该矩阵的左上角第一个像素;对这个临时矩阵和匹配图像的矩阵取相关系数值参见函数说明规定相关系数的值(我设为)如果取得的相关系数值大于规定值,可认为在以此坐标为左上角第一个像素的临时矩阵和匹配图矩阵是相匹配的;如果在此坐标下是匹配的话,则以此为左上角,将匹配区域标记出来。取得相关系数规定值为下面用函数在原图的坐标系上画出匹配区域(2)基于灰度的快速模板匹配算法函数功能:十进制数转换成二进制数格式:位数说明:为十进制数,为转换后的二进制序列,位数为的二进制位数。举例:将转换为位的二进制运行结果:01101函数功能:二进制数转换成十进制数格式:说明:为二进制序列,为转

17、换后的十进制数。举例:将二进制为的序列转化为十进制运行结果:45函数功能:根据输入的四项参数的大小顺序,返回一个5位二进制的编码格式:shunxu=getOrder(temp_shunxu_1,temp_4)举例:运行结果:10000函数功能:根据特征块的左上角坐标得出该特征块的特征值,特征值的定义详见基于灰度的快速匹配算法中的定义2。格式:说明:为特征块左上角的横坐标与衷纵坐标,为图像矩阵,为最佳分块标准值函数功能:求向量中的最小值格式:说明:为一个向量,中保存的是中的最小值举例:运算结果2函数功能:求向量中的最大值格式:说明:为一个向量,中保存的是中的最大值举例:运算结果66函数功能:求向

18、量中和格式:说明:为一个向量,中保存的是中的和举例:运算结果函数实现细节:I读取原图像搜索图和匹配图像(模板图)读取原图像读取匹配图像II将原图像和匹配图像灰度化,以便于计算将原图灰度化将匹配图灰度化III获取原图像和匹配图像的尺寸及分块标准值获取匹配图象的大小尺寸,其值为高,宽将匹配图象的长度值赋给将匹配图象的宽度值赋给获取原图象的大小尺寸,其值为高,宽将原图象的长度值赋给将原图象的宽度值赋给尺两个边中最短的一条边以分成义特征块为基准,得出最佳分块标准值W计算及记录匹配图的个特征块的信息;显示出原图,并调用命令,以实现以后在原图像上做标记去掉外围的一圈取顺时针为正方向temp_pipeitu

19、(t,s)=bin2dec将二进制编码值(特征块值)以十进制的形式保存在义的矩阵中的对应位置V在原图像上进行扫描,横坐标到原图像的宽度减去匹配图的宽度,纵坐标到原图像高度减去匹配图的高度;对于原图像上扫描到的每个像素点,以此像素点的坐标为准,剪裁参见函数说明出一个大小和匹配图大小一样的矩阵,此像素点为该矩阵的左上角第一个像素;对这个临时矩阵进行特征值提取,并和匹配图的特征值进行比较,如果特征块的匹配数大于一定数(我设定为大于等于8),可认为在以此坐标为左上角第一个像素的临时矩阵和匹配图矩阵是相匹配的;如果在此坐标下是匹配的话,则以此为左上角,将匹配区域标记出来。:去掉3外围的一圈=1%:取3顺

20、时针为正方向如果特征值相同,就加下面用函数在原图的坐标系上画出匹配区域plot(j:j+pipei_width,i,r);plot(j:j+pipei_width,i+pipei_height,r);plot(j,i:i+pipei_heightr,);plot(j+pipei_width,i:i+pipei_height,r);endendendD3界面设计:本程序采用交互式来演示图像匹配过程,采用自带的界面编辑器。主要涉及图像显示,各个功能按钮对显示的图像所进行的操作(如:放大,缩小,旋转和图像匹配),文件对话框(用来读取和保存图像)。uigetfiie函数口功能:打开磁盘内的文件格式:p

21、name,adrname口uigetfiie(格式,名称)口说明:pname为选择的文件名,adrname为路径;uigetfiie通常和if口exist(文件名连用,如果存在文件的话,则把相应的值传给pname和口口口口口口口口口举例:pname,adrname口uigetfiie(*.jpg,*.bmp)口运行结果:Duiputfiie功能:保存文件格式:temp_pname,temp_adrname=uiputfiie(strcat(adrname,pname),保存图象);axes函数:口功能:固定地点,此程序用此函数在固定区域内显示图像举例:axes(handles.axesl);%handles.a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论