图像匹配程序设计——模板匹配概要
- 格式:doc
- 大小:616.50 KB
- 文档页数:14
数字图像处理-模板匹配⽬录1. 基于灰度值的模板匹配模板匹配是通过计算模板与图像之间的相似度实现。
1.1. SAD & SSD最简单的相似度量⽅法是计算模板与图像之间差值的绝对值的总和(SAD)或所有差值的平⽅和(SSD)。
它们的等式分别为:在光照情况保持不变的情况下,SAD和SSD相似度量的结果⾮常好。
但是如果光照发⽣变化,甚⾄在图像中存在相同物体的情况下,他们都将返回⾮常⼤的结果。
从上⾯的例⼦中我们可以看出,SAD和SSD相似度量只有在光照情况不发⽣变化的情况下可以使⽤。
在不能保证光照稳定的情况下,必须使⽤另外⼀种相似度量⽅法。
理想的情况下,这个相似度量应该不随任何线性的光照变化⽽变化。
1.2. NCC能够达到这种要求的⼀种相似度量是归⼀化互相关系数(NCC),等式为:只有在|nc(r,c)| = 1的情况下,模板与图像之间才完全匹配。
⼀般情况下,归⼀化互相关系数的绝对值越⼤就表⽰模板与正在检测的部分图像之间越接近,归⼀化互相关系数的绝对值越接近零就表⽰模板与图像越不⼀致。
1.3. (提前)终⽌标准在上述讨论中,我们假设必须对所有平移位置都计算相似度量。
事实上这样做是不必要的,因为计算相似度量的结果将在随后使⽤阈值t进⾏阈值分割。
例如将等式(3.133)求出的SAD结果进⾏阈值分割意味着我们需要:上⾯提到的停⽌标准可以使我们在确定不可能达到阅值的情况下停⽌相似度量的计算。
因此,他们除了位姿区间中不必要的部分。
事实上,⽬前改进裁减搜索区间⽅法的研究仍在积极地进⾏中。
例如,在⽂献[125]中介绍了使⽤归⼀化互相关系数时如何进⼀步优化裁减搜索区间的⽅法。
在⽂献[126]和[127]中讨论了使⽤SAD或SSD时裁减搜索区间的策略。
他们⾸先将图像转换为另⼀种表⽰⽅法,使⽤这种表⽰⽅法时SAD和SSD的⼀⼤部分可以使⽤⾮常少的计算得到,因此计算中可以尽可能快地达到停⽌标准。
2. 图形⾦字塔加速匹配使⽤上述讨论的停⽌标准的情况下,在整个图像中计算相似度量也是⼀个⾮常耗时的⼯作。
第8章模板匹配8.1 引言●模板匹配不同于前面讲的模式识别方法,也不同于聚类分析方法。
模板是为检测某些区域特征(形状或图案)而设计的数据阵列。
模板匹配是一个较原始和最基本最常用的的模式识别方法之一,模板匹配用来研究某一特定图案位于整个图像中的什么位置,并根据相似度来确定该特定图案是否存在以及确切位置,这样的方法叫模板匹配。
●模板匹配方法中使用一个参考模板,然后决定未知的测试模式与哪个参考模式是最佳匹配。
模板是由一系列的识别符号串或特征向量(串模式)组成的。
也就是说,每个都由测度参数序列(串)表示,然后判断测试模式和哪个参考模式最佳匹配。
这些参考模板可以是场景中的对象,也可能是模式串,例如,在手写文本中组成单词的字母,或语音文本中的单词或短语,为此:1)、定义一种合理的测度和代价来测量参考模板与测试模式之间的距离或相似度。
2)、手写文本的匹配问题识别一系列的单词中哪一个是指定的单词,比方说“beauty”。
然而,由于阅读传感器的误差,指定的测试模式可能被显示为“beetv”或“beaut”。
在语音识别中,如果一个特定的单词由同一个人说很多次,每次都是不同的;有时可能说得快,则结果模式的持续时间短;有时说得慢,则持续时间长;然而不管怎样,它是同一个人说的同一个单词。
需要确定相似的程度,因此要定义测度,用于给出各类问题区分特性。
●先讨论字符串模板匹配问题,然后讨论场景分析和形状识别问题。
尽管这些任务具有同样的目的,但由于性质不同,所需要的工具也不同。
8.2 基于最优路径搜索技术的测度模板匹配的种类: 参考模式和测试模式⏹动态时间规整算法(DTW)定义:参考模式的特征向量序列,()i r , i =l ,2,…,I 。
测试模式的特征向量序列,()j t ,j =1,2,…,J ,一般I ≠J 。
目的是找出两个序列之间的合适距离测度(并非严格数学上的距离),动态时间规整算法就是把时间规整(或规划)和距离测度计算结合起来的非线性规整技术,♦ 建立一个二维的表格(网格):用参考模板序列()i r 作为横坐标i 轴,测试模式序列()j t 作为纵坐标j 轴,建立直角坐标系。
图像模板匹配
1、无信息损失下的模板匹配
多种方法,包括MAD,SSDA。
按点匹配,从左到右,从上到下依次遍历所有点。
取误差最小点。
2、有噪音情况下的匹配
A)寻找边缘法。
仅提取图像的线条信息,具体表现为获取图像中的物体。
物体边缘具有一定的特征,表现为物体的连续性,因为通过物体边缘可以描术一个物体,所以通过寻找物体边缘就可以寻找一个物体。
如何提取图像边缘?
边缘匹配
B)降噪法。
通过一定的方法忽略图像噪音,而只获得图像的稳定信息。
对于一副图像,总是有一定的特征,如果过于混乱,可以认为已经失去了其基本特征,不称之为有信息的图像。
除非是经过加密等特殊处理的图像。
如何踢除无用信息。
3、存在图像旋转的匹配
对一副图片做旋转,再做旋转。
4、有放大缩小的匹配
有插值法改造图像搜索。
模板匹配算法原理
模板匹配算法是一种基于像素级别的图像识别方法。
该算法的原理是将一个小的图像(称为模板)与另一个较大的图像(称为源图像)进行比较,通过像素级别的比较来确定它们之间的相似度。
当源图像中存在与模板相似的图案或物体时,模板匹配算法可以将其检测出来。
模板匹配算法分为两种:基于像素的模板匹配算法和基于特征的模板匹配算法。
基于像素的模板匹配算法通过像素级别的比较来确定模板与源图像之间的相似度。
该算法的优点是速度快且适用于大尺寸的图像,但缺点是对光照和噪声比较敏感。
基于特征的模板匹配算法则是通过提取图像的特征来确定模板与源图像之间的相似度。
该算法的优点是对光照和噪声不敏感,但缺点是计算量比较大和对图像特征提取的精度要求较高。
模板匹配算法在实际应用中广泛使用,例如在医学图像识别、人脸识别、指纹识别、自动驾驶等领域。
在人脸识别中,模板匹配算法可以通过比较存储的人脸模板和实时摄像头捕捉到的人脸图像来确
定是否匹配。
在指纹识别中,模板匹配算法可以将指纹图像与已知指纹模板进行比较来进行指纹识别。
在自动驾驶中,模板匹配算法可以通过匹配道路标志来确定车辆所在的位置和行驶方向。
总之,模板匹配算法是一种有效的图像识别方法,具有广泛的应用前景。
- 1 -。
模板匹配算法首先,模板匹配算法的基本原理是通过计算给定图像与模板图像之间的相似度来实现匹配。
在实际应用中,通常采用的是灰度图像,因为灰度图像只有一个通道,计算起来相对简单。
常用的相似度计算方法有平方差匹配、相关性匹配和归一化互相关匹配等。
其中,平方差匹配是最简单的一种方法,它通过计算两幅图像对应像素之间的差的平方和来得到相似度。
相关性匹配则是通过计算两幅图像的亮度之间的相关性来得到相似度。
而归一化互相关匹配则是将两幅图像进行归一化后再进行相关性匹配,以消除亮度差异的影响。
这些方法各有优缺点,可以根据实际情况选择合适的方法。
其次,常用的模板匹配算法有暴力匹配、快速匹配和优化匹配等。
暴力匹配是最简单的一种方法,它通过遍历给定图像的每一个像素来计算相似度,然后找到最相似的部分。
虽然暴力匹配的计算量大,但是它的原理简单,容易实现。
快速匹配则是通过一些优化的数据结构和算法来加速匹配过程,例如使用积分图像和积分图像模板来实现快速匹配。
而优化匹配则是通过一些启发式方法和优化算法来进一步提高匹配的准确度和速度。
这些算法各有特点,可以根据实际需求选择合适的算法。
最后,模板匹配算法在实际应用中有着广泛的应用。
例如在人脸识别、指纹识别、车牌识别和医学图像处理等领域都有着重要的应用。
在人脸识别中,可以通过模板匹配算法来实现人脸的定位和识别。
在指纹识别中,可以通过模板匹配算法来实现指纹的匹配和比对。
在车牌识别中,可以通过模板匹配算法来实现车牌的定位和识别。
在医学图像处理中,可以通过模板匹配算法来实现病灶的定位和识别。
这些应用都充分展示了模板匹配算法在实际中的重要性和价值。
综上所述,模板匹配算法是一种常用的图像处理和模式识别技术,它通过计算给定图像与模板图像之间的相似度来实现匹配。
常用的相似度计算方法有平方差匹配、相关性匹配和归一化互相关匹配等。
常用的模板匹配算法有暴力匹配、快速匹配和优化匹配等。
模板匹配算法在实际应用中有着广泛的应用,包括人脸识别、指纹识别、车牌识别和医学图像处理等领域。
模板匹配算法template match什么是模板匹配算法,它如何工作,以及在不同领域中的应用。
一、引言随着计算机技术的不断发展和应用,图像处理成为了一个非常重要的领域。
在图像处理中,模板匹配算法(Template Matching Algorithm)是一种常用的图像识别和匹配方法。
它可以通过与给定模板的比较来查找并定位图像中的目标。
模板匹配算法被广泛应用于自动化生产、图像检索、特征识别等领域。
二、模板匹配算法的工作原理模板匹配算法的工作原理非常直观。
它基于以下两个假设:首先,假设要匹配的目标是与所提供的模板非常相似的;其次,假设模板在图像中的位置是相对固定的。
根据这两个假设,算法会从图像的每个像素位置开始,将模板与图像进行比较,并计算出相似度得分。
然后,从这些得分中选择最高的得分作为匹配结果。
具体地说,模板匹配算法通常按照以下步骤进行:1. 选择合适的模板:根据需求选择一个合适的模板,该模板是与目标非常相似的图像。
2. 图像预处理:为了提高匹配的准确性和效率,可以对图像进行一些预处理,如图像平滑、图像增强等操作。
3. 设置匹配阈值:根据具体情况,设置一个匹配阈值,当匹配得分高于该阈值时认为匹配成功。
4. 匹配过程:从图像的每个像素位置开始,将模板与图像进行比较。
比较的方法可以是简单的像素相减、相关性系数等。
通过计算得到的相似度得分,将其与之前得到的最高得分进行比较,更新最高得分和最佳位置。
5. 输出匹配结果:根据匹配得分和设定的阈值,输出匹配结果。
如果匹配得分超过了阈值,则判定为匹配成功,并输出匹配位置或其他相关信息。
三、模板匹配算法的应用模板匹配算法在各个领域都有广泛的应用。
以下是几个常见的应用示例:1. 自动化生产:模板匹配算法可以用于自动化生产线上的质量控制。
例如,在电子产品制造中,通过与预先设定的模板进行比较,检测零件的正常组装和位置。
2. 图像检索:模板匹配算法可以在大型图像数据库中进行图像检索。
模板匹配算法模板匹配算法(Template Matching Algorithm)是一种基于图像识别的算法, 它可以根据已有的模板信息, 对于待匹配图像中的目标进行检测和识别。
这种算法在计算机视觉、机器人控制、智能交通、安防等领域中得到了广泛的应用。
一、算法原理模板匹配的过程可以简单描述为: 在待匹配图像中搜索与指定模板最相似的局部区域, 并标记其所在位置。
匹配程度的计算可以通过两幅图像的灰度值来实现。
模板匹配算法主要基于以下原理:1、模板图像与待匹配图像的灰度值变化连续和相似, 且待匹配图像与模板图像的尺寸关系一致。
2.相对于待匹配图像, 模板图像为小尺寸图像, 可以忽略旋转和放缩等影响。
基于以上原理, 我们可以通过以下几个步骤来实现模板匹配算法:1.读入待匹配图像和模板图像。
2.计算待匹配图像的灰度值和模板图像的灰度值, 并将其归一化。
3.在待匹配图像中进行滑动窗口操作, 将其分解为若干个小的局部区域。
4、在每个小局部区域内, 计算其灰度值和模板图像的灰度值之间的匹配程度, 并寻找与模板图像最相似的局部区域。
5、标记每个相似的局部区域的中心位置, 并绘制相应矩形框。
二、算法优缺点模板匹配算法是一种简单易懂, 容易实现的算法。
它具有以下几个优点:1.非常适合处理大尺寸且单一对象图像的匹配问题。
2、不需要复杂的预处理或模型训练, 不依赖于外部数据集或学习算法。
3.可以在较短的时间内完成匹配操作, 并对匹配结果确定性较高。
但是, 模板匹配算法也存在以下缺点:1.非常敏感于光照变化、噪声、目标遮挡等因素, 容易出现误报和漏报情况。
2、难以适用于多目标场景的处理, 难以达到真正的智能感知水平。
3、需要占用大量的计算资源和内存, 适用于小数据集的处理。
三、算法优化为了提高模板匹配算法的性能和鲁棒性, 一些优化措施可以采取, 包括:1、使用归一化的互相关函数(Normalized Cross-Correlation, NCC)来计算匹配程度, 从而避免光照和噪声等因素的影响。
图像模式识别中模板匹配的基本概念以及基本算法认知是一个把未知与已知联系起来的过程。
对一个复杂的视觉系统来说,他的内部常同时存在着多种输入和其他知识共存的表达形式。
感知是把视觉输入与事先已有表达结合的过程,而识别与需要建立或发现各种内部表达式之间的联系。
匹配就是建立这些联系的技术和过程。
建立联系的目的是为了用已知解释未知。
(摘自章毓晋《图像工程》)1、模板匹配法:在机器识别事物的过程中,常常需要把不同传感器或同一传感器在不同时间、不同成像条件下对同一景象获取的两幅或多幅图像在空间上对准,或根据已知模式到另一幅图像中寻找相应的模式,这就叫匹配。
在遥感图像处理中需要把不同波段传感器对同一景物的多光谱图像按照像点对应套准,然后根据像点的性质进行分类。
如果利用在不同时间对同一地面拍摄的两幅照片,经套准后找到其中特征有了变化的像点,就可以用来分析图中那些部分发生了变化;而利用放在一定间距处的两只传感器对同一物体拍摄得到两幅图片,找出对应点后可计算出物体离开摄像机的距离,即深度信息。
一般的图像匹配技术是利用已知的模板利用某种算法对识别图像进行匹配计算获得图像中是否含有该模板的信息和坐标;2、基本算法:我们采用以下的算式来衡量模板T(m,n)与所覆盖的子图Sij(i,j)的关系,已知原始图像S(W,H),如图所示:利用以下公式衡量它们的相似性:上述公式中第一项为子图的能量,第三项为模板的能量,都和模板匹配无关。
第二项是模板和子图的互为相关,随(i,j)而改变。
当模板和子图匹配时,该项由最大值。
在将其归一化后,得到模板匹配的相关系数:当模板和子图完全一样时,相关系数R(i,j) = 1。
在被搜索图S中完成全部搜索后,找出R的最大值Rmax(im,jm),其对应的子图Simjm即位匹配目标。
显然,用这种公式做图像匹配计算量大、速度慢。
我们可以使用另外一种算法来衡量T和Sij的误差,其公式为:计算两个图像的向量误差,可以增加计算速度,根据不同的匹配方向选取一个误差阀值E0,当E(i,j)>E0时就停止该点的计算,继续下一点的计算。
模板匹配(Template Matching)在Python中的应用模板匹配是一种在图像处理和计算机视觉中常用的技术,用于在一幅图像中寻找与给定模板最相似的区域。
Python提供了丰富的库和工具,使得模板匹配变得简单且易于理解。
本文将介绍模板匹配的基本概念、Python库中相关函数的使用方法,并通过示例代码演示如何实现模板匹配。
1. 模板匹配的基本原理模板匹配是一种基于像素值相似性的图像处理技术,其基本原理可以概括为以下几个步骤:1.选择一个待搜索的目标图像和一个待匹配的模板图像。
2.将模板图像从左上角开始依次滑动到目标图像上,计算每个位置处目标图像与模板图像之间的相似度。
3.根据相似度计算结果确定最佳匹配位置。
2. Python库中的相关函数Python提供了多个库和函数用于实现模板匹配。
其中,OpenCV是最常用且功能强大的库之一。
2.1 OpenCV库OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉库,提供了丰富的图像处理和计算机视觉算法。
在OpenCV中,可以使用cv2.matchTemplate()函数实现模板匹配。
2.2 cv2.matchTemplate()函数cv2.matchTemplate()函数是OpenCV库中用于模板匹配的主要函数,其基本语法如下:cv2.matchTemplate(image, template, method)•image:目标图像,可以是灰度图或彩色图。
•template:模板图像,必须与目标图像具有相同的数据类型和通道数。
•method:匹配方法,可选值包括:–cv2.TM_SQDIFF:平方差匹配方法。
–cv2.TM_SQDIFF_NORMED:归一化平方差匹配方法。
–cv2.TM_CCORR:相关系数匹配方法。
–cv2.TM_CCORR_NORMED:归一化相关系数匹配方法。
–cv2.TM_CCOEFF:相关性匹配方法。
模板匹配MATLAB实现及算法优化模板匹配是一种常用的图像处理技术,它在图像中寻找指定的模板,并确定模板在图像中的位置。
MATLAB提供了丰富的工具和函数来实现模板匹配。
在本文中,我们将介绍模板匹配的MATLAB实现,并探讨一些相关的算法优化。
模板匹配的基本思想是将模板图像与目标图像进行比较,找出在目标图像中与模板最相似的位置。
下面是模板匹配的基本步骤:1.准备模板图像和目标图像。
2.将模板图像与目标图像进行比较,计算它们之间的相似度。
3.找出相似度最高的位置作为匹配结果。
现在,让我们具体看一下MATLAB中如何实现这些步骤。
准备模板图像和目标图像首先,我们需要准备模板图像和目标图像。
可以使用MATLAB中的imread函数读取图像文件,并使用imresize函数调整图像尺寸。
通常情况下,目标图像的尺寸较大,而模板图像的尺寸较小。
所以,我们需要将模板图像调整为与目标图像相同的尺寸。
```matlabtemplate = imread('template.png'); % 读取模板图像template = imresize(template, size(target)); % 调整模板图像尺寸与目标图像相同```比较模板图像和目标图像接下来,我们需要计算模板图像和目标图像之间的相似度。
在MATLAB中,可以使用函数normxcorr2来计算归一化的互相关系数。
这个函数将返回一个与目标图像相同大小的矩阵,其中的每个元素表示与模板图像在该位置重叠的部分的相似度。
```matlabc = normxcorr2(template, target); % 计算归一化的互相关系数```找出匹配位置最后,我们需要找出相似度最高的位置作为匹配结果。
可以使用函数max来找到相似度矩阵中的最大值及其对应的位置。
```matlab[maxValue, maxIndex] = max(c(:)); % 找到最大值及其位置[y, x] = ind2sub(size(c), maxIndex); % 将位置转换为坐标```至此,我们已经完成了模板匹配的MATLAB实现。
摘要模板匹配就是把不同传感器或同一传感器在不同时间、不同成像条件下对同一景物获取的两幅或多幅图像在空间上对准,或根据已知模式到另一幅图中寻找相应模式的处理方法。
模板匹配是数字图像处理的重要组成部分之一。
简单而言,模板就是一幅已知的小图像。
模板匹配就是在一幅大图像中搜寻目标,已知该图中有要找的目标,且该目标同模板有相同的尺寸、方向和图像,通过一定的算法可以在图中找到目标,确定其坐标位置。
本文主要主要介绍了灰度相关的匹配方法,灰度相关的图像匹配算法是图像匹配算法中比较经典的一种,很多匹配技术都以它为基础进行延伸和扩展。
它是从待拼接图像的灰度值出发,对待匹配图像中一块区域与参考图像中的相同尺寸的区域使用最小二乘法或者其它数学方法计算其灰度值的差异,对此差异比较后来判断待拼接图像重叠区域的相似程度,由此得到待拼接图像重叠区域的范围和位置,从而使用MATLAB软件实现图像匹配。
当以两块区域像素点灰度值的差别作为判别标准时,最简单的一种方法是直接把各点灰度的差值累计起来。
另一种方法是计算两块区域的对应像素点灰度值的相关系数,相关系数越大,则两块图像的匹配程度越高。
该方法的匹配效果要更好,匹配成功率有所提高。
关键词:图像匹配;MATLAB;灰度相关目录1 需求分析 (1)1.1 问题描述 (1)1.2 基本要求 (1)2 设计方案 (2)2.1 相关概念 (2)2.2 算法设计 (2)3 仿真内容 (5)3.1 相关函数说明 (5)3.2 模版匹配源代码 (8)4 仿真结果及分析 (9)结束语 (11)参考文献 (12)1 需求分析1.1 问题描述计算机模式识别所要解决的问题,就是用计算机代替人去认识图像和找出一幅图像中人们感兴趣的目标物。
在机器识别物体的过程,常需把不同传感器或同一传感器在不同时间,不同成像条件下对同一景物获取的两幅或多幅图像在空间上对准,或根据已知模式到另一幅图中寻找相应的模式,这就叫做匹配。
模板匹配是一种最原始、最基本的模式识别方法。
研究某一特定对象物位于图像的位置,进而识别对象,这就是匹配的问题。
利用模板匹配可以在一幅图像中找到已知的物体。
这里的模板指的是一幅待匹配的图像,相当于模式识别的模式。
基本要求如下:(1).进行匹配的两幅图像为JPG格式或BMP格式。
(2).能够进行对两幅数字图像的匹配。
(3).采用交互式程序对图像进行匹配。
1.2 基本要求通过分析题目的基本要求,我将此使用两种方法实现匹配:一个是基于灰度的模板匹配,另一个是基于灰度的快速匹配。
在以上两种方法中,用户可以对两张图像进行匹配并显示匹配结果。
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 算法设计由于各种各样的原因如(成象条件的差异)图象预处理,引入的误差等,参与图象匹配的模板与潜在的匹配子图象间通常存在着程度不同的不一致,因此根据模板在一幅陌生图象中检测出潜在的匹配对象并得出它在图象中的位置是一件复杂的工作。
模板匹配是指用一个较小的图像,即模板与源图像进行比较,以确定在源图像中是否存在与该模板相同或相似的区域,若该区域存在,还可确定其位置并提取该区域。
模板匹配常用的一种测度为模手术台与源图像对应区域的误差平方和。
设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 j k j 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)为常数会产生误差,严重时将无法下确匹配,因此可用归一化互相关作为误差平方和测度,其定义为:1100111120000(,)(,)(,)[(,)][(,)]J K j k J K J K j k j k t j k f x j y k R x y f x j y k t j k --==----====⋅++=++⋅∑∑∑∑∑∑ (2.6)模板匹配的示意图如图图2.1所示,其中假设源图像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 模板匹配示意图3 仿真内容3.1 相关函数说明1、imread函数功能:从图像文件(BMP,HDF,JPEG,PCX,TIFF,XWD等格式)中读入图像数据。
格式:A=imread(文件名,’图像文件格式’)说明:文件名为指定图像文件名称的字符串。
’图像文件格式’为图像文件格式的字符串。
文件名必须在当前目录或MATLAB路径中,如果找不到则录找’文件名.图像文件格式’.A为无符号8位整数(uint8)。
如果文件灰度图像(详细解释见“算法设计”中的“概念解释”),则A为一个二维数组;如果文件是一个真彩色RGB图像,则A是一个三维数组(m×n×3)。
举例:A=imread(‘E:\temp_pictur e.jpg’);%读取存放在E盘下的名为temp_picture.jpg 的图像,并将其整个点阵数据传给A。
注:在MATLAB中申请一个变量时不需要指定类型,其具体类型由系统自动判别。
2、imwrite函数功能:交图像写入图像文件(以BMP,HDF,JPEG,PCX,TIFF,XWD等格式)。
格式:imwrite(A,文件名,‘图像文件格式’)说明:文件名为指定图像文件名称的字符串。
‘图像文件格式’是指定图像文件的保存格式的字符串。
如果A是一个无符号8位整数表示的灰度图像或真彩色图像,imwrite 直接交数组A中的值写入文件。
如果A为双精度浮点数,imwrite首先使用uint8(round(255*A))自动将数组中的值变换为无符号8位整数,即交[0,1]范围内的浮点数变换为[0,255]范围内8位整数,然后写入文件。
3、imshow函数功能:图像显示。
格式:imshow(I)说明:在图形窗口显示I,其中I为用imread函数赋值的变量,是一个图形矩阵。
4、rgb2gray函数功能:转换RGB图像或颜色映像表为灰度图像。
格式:I = rgb2gray(RGB)说明:RGB为用imread函数赋值的变量,是一个图形矩阵;I为一个表示灰度图像的二维数组。
5、imcrop函数功能:图像剪裁。
格式:Ⅰ:I2=imcrop(I)Ⅱ:I2=imcrop(I,RECT)说明:格式Ⅰ为交互方式,imcrop显示输入图像,等待用户用鼠标定义要剪裁的矩形。
格式Ⅱ为非交互方式,对灰度图像进行非交互方式的剪裁操作,通过四元素向量RECT=[xmin ymin width height]指定剪裁矩阵,这些值是定义在坐标系中的,xmin 和ymin是图像矩阵I的一处坐标,width是以此坐标为准向右的延伸的长度,height是以此坐标为准向下延伸的长度,由此构成要剪裁的矩形区域。
6、size函数功能:用来求出某一个变量的的大小参数。
格式:[x,y]=size(I)说明:I用imread函数赋值的变量,是一个图形矩阵且为灰度图像,x用来保存I的高度值,y用来保存I的宽度值。
7、mean2函数功能:求图像均值格式:m=mean2(A)说明:mean2函数可用来计算图像矩阵A的均值m,m是双精度标量。
举例:I=imread(‘temp_picture.jpg’);m=mean2(I)运行结果:m=107.67558、corr2函数功能:求图像间相关系数。
格式:r=cor2(A,B)说明:corr2函数计算图像矩阵A 与B 的相关系数,矩阵A 与B 的大小相同,如均为:m×n 。