图像快速匹配算法研究

更新时间:2024-03-26 07:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目 录

引 言 ............................................................................................................... 3 1图像匹配技术的发展和研究意义 ................................................................... 7

1.1图像匹配技术的发展和研究意义 .................................................................................... 7 1.2图像匹配技术的研究现状 ................................................................................................ 7 1.3研究问题及内容 ................................................................................................................ 9

2灰度匹配算法研究........................................................................................ 11

2.1基于图像灰度的匹配方法 .............................................................................................. 11

3灰度匹配算法数据实验分析......................................................................... 13

3.1灰度匹配数据实验分析 .................................................................................................. 13 3.2基于邻域灰度编码的图像匹配算法的分析与实现 ...................................................... 13 3.3特征的匹配过程 .............................................................................................................. 15 3.4 特征比较结果处理 ......................................................................................................... 18 3.5 算法综合分析 ................................................................................................................. 20 3.6 试验与结果分析 ............................................................................................................. 20

4特征匹配算法 ............................................................................................... 23

4.1基于边缘特征点的图像匹配算法 .................................................................................. 23 4.2 特征点提取 ..................................................................................................................... 23 4.2.1 稳定特征点的确定 ............................................................................................... 24 4.2.2 特征点方向确定 ................................................................................................... 24 4.2.3特征点描述符的确定 ............................................................................................ 25 4.3 图像匹配 ......................................................................................................................... 25

4.3. 1 NN 算法 ............................................................................................................... 25 4.3.2 BBF 搜索算法....................................................................................................... 26 4.4 实验结果 ......................................................................................................................... 27 4.5 实验仿真 ......................................................................................................................... 29

5块模板匹配法 ............................................................................................... 34 结 论 ......................................................................................................... 42 致 谢 ......................................................................................................... 43 参考文献 ......................................................................................................... 45 附录1 源程序清单 ......................................................................................... 47

沈阳大学毕业设计(论文) No

摘 要

数字图像匹配是指将从同一场景拍摄的具有重叠区域的图像通过特征匹配方法,找出图像之间的对应关系。目前,图像匹配技术广泛应用于医学、生物、信息处理和其它领域,它已成为图像处理应用中不可或缺的技术。

本文主要主要介绍了灰度相关的匹配方法和特征匹配,灰度相关的图像匹配算法是图像匹配算法中比较经典的一种,很多匹配技术都以它为基础进行延伸和扩展。它是从待拼接图像的灰度值出发,对待匹配图像中一块区域与参考图像中的相同尺寸的区域使用最小二乘法或者其它数学方法计算其灰度值的差异,对此差异比较后来判断待拼接图像重叠区域的相似程度。基于特征点的图像匹配方法对图像的显著特征进行提取,大大压缩了图像的信息量,使得计算量小,速度较快,而且它对图像灰度变化具有很好的鲁棒性。

基于灰度相关的匹配方法的优点是原理简单,直观性好,计算量较小;缺点是只适用于具有水平或者垂直位移方向上的两幅图像的匹配,根据所选择的模板的不同,基于灰度相关的匹配方法可以分为:线模板匹配法、比值模板匹配法和块模板匹配法。本文分别对3种匹配方法的算法原理和具体实现进行深入研究。

关键词:

灰度相关;线模板匹配法;比值模板匹配;块模板匹配; 特征匹配

沈阳大学毕业设计(论文) No 1

Abstract

Digital image registration is the same scene shot from the overlapping region of the image by a feature matching method to find the corresponding relationship between the images. Currently, image registration techniques are widely used in medicine, biology, information processing and other area. It has become an integral part of image processing applications of technology.

This paper mainly introduces the gray correlation matching and feature matching,gray correlation image matching algorithm.It is a classical algorithm in image matching.Many matching technology based on it’s extension and expansion.Matching the same size for a region and in the reference image regions in the image used the least square method to calculate the gray value.This difference was judged similarity to overlapping regions of image stitching.Feature matching method of characteristic images were extracted .Redu-cing the amount of image information, so that it can get a small amount of calculation, fast.It has very good robustness for the change of image intensity.

The advantages of matching method based on gray correlation principle its simpleness.Disadvantage is only applicable to the direction of a horizontal or vertical displacement of t-he matching of two images.According to the different choice of templates, matching met-hod based on gray correlation can be divided into: Line template matching, template ma-tching method and the block ratio template matching method.In this paper, each of the 3 in-depth studies and the principle of the algorithm of matching method is implemented.

Key words:

Intensity-related; Line template matching method; The ratio of template matching; Block matching,Feature matching

沈阳大学毕业设计(论文) No 2

引 言

在众多视觉应用中, 图像匹配是一个关键任务, 即给定同一场景的两幅图像, 寻找同一场景点投影到图像中的像素之间的对应关系。本文给出立体和运动的匹配算法.在立体中, 图像被同时从不同视角获得,匹配给出深度线索.在运动中,图像在不同时间获得, 而匹配给出移动线索。

图像匹配是计算机视觉和图像处理领域中一项非常重要的工作。主要用于将不同时间、不同传感器、不同视角及不同拍摄条件下获取的两幅或多幅图像进行匹配。图像匹配是多种图像处理及应用的基础,匹配的效果直接影响到其后续图像的处理工作。

本文对图像匹配方法进行了细致的研究。在对各种边缘提取和特征匹配算法分析基础上,归纳出一种改进的尺度自动选择的边缘检测算法。根据边缘特征点具有空间位置相对不变的特点,给出了一种基于边缘特征点的图像匹配算法。

首先利用极坐标化的方法提取边缘特征点,构造方向链码;然后利用链码信息寻找匹配边缘;最后确定旋转角度和偏移量。实验证明了该方法在图像间存在平移和旋转时都有良好的匹配效果。针对边缘特征点匹配算法的局限性,在保持该算法原有性能的基础上结合插值算法和B-Spline原理对其进行改进。使改进的算法匹配精度达到亚像素级并且适用于具有尺度变化的图像匹配中。从而扩展了匹配算法的应用范围,使匹配效果更佳出色。最后对本文的工作进行了总结,并对本文在图像配准领域仍需要深入研究的地方进行了展望。

现实生活中,存在着多种多样的可被我们所感知的信号,其中,人的信

沈阳大学毕业设计(论文) No 3

息来源是通过视觉系统所获得的。人类通过眼睛与大脑来获取、处理与理解视觉信息的。周围环境中的物体在光线刺激作用下,在人眼的视网膜上形成图像,由感光细胞转换成神经脉冲信号,经神经纤维传入大脑皮层进行处理与理解。视觉,不仅指对光信号的感受,还包括了对视觉信息的获取、传输、处理、存储与理解的全过程。 人和高等动物都有着发达的视觉系统,使得客观环境中存在的事物或目标可以被识别,从而引发进一步的处理。对于人类来说,这种功能是与身俱来的,十分轻松的事情。信号处理理论与计算机出现以后,人们试图用摄象机获取环境图像并将其转换成数字信号,用计算机实现对觉信息处理的全过程。这样,就形成了一门新兴的学科—计算机视觉。一般的机器视觉系统都是在某一领域内作用的,故待识别的目标是特定领域内的,而且类型有限,于是可以作一个样本库容纳可能出现的目标类型模板。在判断输入的图像是什么时,就可以将输入的图像与存储的样本库进行匹配比较,进行判断识别。

在另外一些场合下,需要对目标进行空间上的定位。多数应用场合下,给出了一个样本图像,它包含着一个特定的目标对象,如一个实际物体,一个符号或字符等等,需要从另一幅包含目标的实际背景图像中寻找这个目标对象的位置,进行定位,也就是判断这幅背景图像或它的一部分是不是我们所要寻找的目标,这时就需要用到图像匹配技术。随着科学技术的发展,图像匹配技术已经成为现代信息处理领域中的一项极为重要的技术,在许多领域内有着广泛而实际的应用。因此,做好对图像匹配技术的深入研究,对推动现代信息处理领域的发展是密切联系的。

图像匹配是确定同一场景的两幅来自不同时间、不同视点、不同成像几

沈阳大学毕业设计(论文) No 4

何或由不同传感器获取的图像在空间上相对位置的过程。图像匹配在导航, 目标跟踪、目标识别、打击评估等领域有广泛的应用。图像匹配算法目前主要有两大类:一类是基于灰度相关的匹配方法, 它直接利用图像的灰度进行匹配, 方法有最小距离法,交叉相关法,相关系数法等;另一类是基于特征的匹配方法, 这种方法需要先对图像提取特征, 比如点,、线、面特征等, 然后对提取特征后的图像进行匹配。灰度相关的方法由于没有提取特征的过程, 计算较为简单, 某种程度上比基于特征的方法复杂度要低, 但传统的基于灰度的方法, 往往不能处理多传感器的图像。

图像匹配技术是计算机视觉和图像信息处理领域中的一个基本问题, 并在卫星遥感、空间飞行器的自动导航、光学和雷达的目标跟踪与识别、自然资源分析及医学图像处理等许多领域中得到了广泛的应用。图像匹配是根据已知的图像(模板图)在另一幅图像(搜索图)中寻找相应或相近模板的过程。图像匹配算法主要分为2大类,一类是基于灰度相关的匹配,另一类是基于特征的匹配。前者主要用空间域的一维或二维滑动模板进行图像匹配, 不同算法的区别主要体现在模板及相关准则的选择方面, 这种方法一般匹配率高, 但计算量大, 速度较慢;后者则通过在原始图像中提取点、线、区域等显著特征作为匹配基元,进而用于特征匹配, 一般匹配速度较快, 但匹配精度不高。 由于受噪声、目标运动以及成像设备的限制,使得所匹配的2 幅图像存在一定的灰度失真和几何形变, 所以研究具有良好的抗噪声能力、抗几何形变能力以及匹配正确率高、速度快的匹配算法成为目前的一个重要课题。本文对基于灰度相关的匹配算法进行了研究, 在传统图像匹配算法最小误差法和最大相关系数法的基础上,提出了改进的匹配算法。实验结果表明, 在保证一定

沈阳大学毕业设计(论文) No 5

匹配精度的条件下,算法在匹配速度方面有很大的改善。

沈阳大学毕业设计(论文) No 6

1图像匹配技术的发展和研究意义

1.1图像匹配技术的发展和研究意义

早期的图像匹配技术主要用于几何校正后的多波段遥感图像的套准,借助于求互相关函数的极值来实现。

图像匹配技术在诸多领域内有着广泛的应用,其中包括导弹的地形和地图匹配,飞机导航,武器投射系统的末制导,光学和雷达的图像模板跟踪,工业流水线的自动监控,工业仪表的自动监控,资源分析,气象预报,医疗诊断,文字识别以及景物分析中的变化检测等等。

在工业检测领域中,图像匹配技术被广泛应用于工件表面缺陷检测、工业测量、产品质量评估等部门,对工业自动化、提高产品质量、提高生产率及节约成本有很高的价值。

在遥感信号处理领域中,图像匹配技术被广泛应用于目标定位及不同电磁波段的图像融合如微波、红外、可见光或多光谱图像,建筑、道路、交通工具和蔬菜类型的划分、矿物寻找、特定区域搜索、农作物估产、森林和水源保护、台风追踪和预报、天气预报等方面。

在机器视觉领域,图像匹配技术是目标跟踪、运动分析、对象识别、自动视觉检测等研究方向的研究基础。可以预见,随着计算机技术的发展和数字图像处理技术应用的日益广泛,图像匹配技术必将在社会生活和工业生产中发挥越来越重要的作用。

1.2图像匹配技术的研究现状

国外从20世纪60年代就开始在图像匹配领域进行研究,但直到1980年代才开始引起学者们的关注。到上世纪末,单模图像匹配问题已基本解决,

沈阳大学毕业设计(论文) No 7

但多模图像匹配由于涉及模式和领域的复杂性,仍需密切关注。国际上对图像匹配技术曾做过调查,其结论是1990年代初技术就明显增加。而国内从1990年代初才开始涉足此领域。与灰度相关的图像匹配算法是图像匹配算法中比较经典的一种,很多匹配技术都以它为基础进行延伸和扩展。

朱近、司美玲具体阐述了用局部灰度极值方法进行多光谱图像匹配算法的研究过程。针对多光谱遥感图像,提出了一种基于局部灰度极值的匹配方法:通过在基准图像和待匹配图像中同步寻找含有灰度极值的小区域,再用多项式对极值区域进行曲面拟合,最后,分别计算小区域的极值点作为特征点进行匹配。并用真实和模拟多光谱图像进行了试验结果显示该课题提出具有算法简单和匹配精度高的特点。这是与灰度相关图像匹配算法有关的一个扩展应用。

林相波、邱天爽提出一种新的灰度和形状信息相结合的全自动同模态医学图像非刚性匹配——分割算法,将欧氏距离表示的形状信息融入基于灰度的匹配算法中,构造出新的代价函数。该算法在医学图像多目标分割的应用中,能够较好地完成灰度相近、边缘模糊、间距较小的不同结构的分割,结果表明,该算法优于基于灰度信息的图像匹配算法。

张密,吴效明阐述图像匹配在放疗中应用的关键问题,对基于灰度的3种匹配方法的性能做深入研究,包括均方测度、归一化相关测度以及互信息测度。方法:分析各匹配要素的算法原理后,基于C??加以实现,提出使用综合匹配误差来评价不同匹配算法的性能,并与传统目标匹配误差的评价结果作对比。结果:3种测度都能对近模态的图像实施准确的匹配,其中互信息测度驱动的匹配在匹配精度和速度上表现更为稳定,综合匹配误差仅为另外两

沈阳大学毕业设计(论文) No 8

个测度的一半左右。它的结论得出利用综合匹配误差得到的评价结果更为客观,互信息测度是放疗中实施匹配的较理想测度。

在医学、生物、信息处理和其他很多高科技领域内图像匹配技术越来越显示出它的重要性,将会越来越受到人们的关注。在现今的科技水平上,图像匹配未来的发展趋势也会更好。

1.3研究问题及内容

本文在分析了灰度相关的图像匹配算法中的线匹配法、比值匹配法法,利用这两种方法分别实现两幅图像在水平垂直位移上的匹配,而本课题研究的内容是提出一种基于灰度相关的算法,不仅能实现两幅图在水平和垂直位移的匹配,同时也能实现在绕光轴旋转情况下的图像匹配。这里提出了一种方法,块模块匹配法。在这两种种匹配的环境下,通过在Matlab编程环境下编程实现相关算法,通过实际图像的匹配试验,利用这些结论最终得到精确地匹配结果。

图像匹配是一个多步骤的过程。总的来说,大概可分为图像输入、图像预处理、匹配特征提取、图像匹配、输出结果等几个步骤。由于所采用的方法各异,不同的匹配算法之间步骤也会有很大的不同,但它们的大致过程是相同的。

沈阳大学毕业设计(论文) No 9

开始 输入参考图和 摸板图 预处理 特征提取 模板匹配 输出结果 结束 图1匹配程序框图

沈阳大学毕业设计(论文) No 10

2灰度匹配算法研究

下面主要是研究基于灰度的匹配算法,在分析研究现有的匹配算法基础之上,针对不同算法的应用背景不同,在基于灰度的匹配中研究了两种算法,一种是基于灰度编码的匹配,另一种是改进的相关匹配算法。在基于几何特征的匹配中,重点研究了不变矩特征、以及其他几种几何特征,最后重点选取了里面的几种特征进行提取,利用欧式距离算法进行匹配,达到了很好的效果。

2.1基于图像灰度的匹配方法

图像的像素灰度值信息包含了图像记录的所有信息,基于图像像素灰度值的匹配是最基本的匹配算法思想。通常直接利用整幅图像的灰度信息建立两幅图像之间的相似性度量,然后采用某种搜索方法寻找使相似性度量值最大或最小的变换模型的参数值。

基于图像灰度的匹配方法不需要对图像做特征提取而是直接利用全部可用的图像灰度信息,因此,能提高估计的精度和鲁棒性。但由于在基于图像灰度的算法,如互相关算法中把匹配点周围区域的点的灰度都考虑进来进行计算,因此,其计算量很大速度较慢。

这种算法的思想很简单,就是用模板图像和待匹配图像上的搜索窗口之间的像素灰度差别来表示二者的相关性,假定待匹配的图像为F(x,y),而模板图像为G(x,y),并且待匹配图像大小为M×N,而模板图像大小为P×Q,则在待匹配图像中共有(M-P+1)×(N-Q+1)个可能的匹配点存在,每一个可能的匹配点对应一个P×Q的搜索窗口。所以匹配也可以看作是大小等于模板图像的搜索窗口在待匹配图像上按照某一顺序滑动,每滑动一次就进行一次模板图像和搜

沈阳大学毕业设计(论文) No 11

索窗口之间的相关计算。以此来判断当前的搜索窗口是否匹配。如果差别小于预定的阈值,就可以认为匹配成功,否则,就认为匹配失败。

计算ABS 有三种算法,它们是: MD(m,n)?maxx.yxyf1(x,y)?1f2(x?m,y?n)

2 (2-1)

SAD(m,n)???xyf(x,y)?f(x?m,y?n) (2-2)

SSD(m,n)???(f(x,y)?1f2(x?m,y?n))2 (2-3)

这种算法思路简单,实现方便,但是,一旦灰度图像或模板图像的灰度值发生线性变化时,这种算法也就不行了。不同的图像和模板,有着不同的大小和搜索窗口,很难算定一个合适的阈值,因而误匹配率比较高,只适用 于待匹配的图像是源图像的一部分,应用面窄。

沈阳大学毕业设计(论文) No 12

3灰度匹配算法数据实验分析

3.1灰度匹配数据实验分析

先将图像分割为一定大小的方块(称为R-块),计算每个R-块图像的总灰度值。并根据它与相邻R-块灰度值的排序关系进行编码。然后通过各个R-块编码值的比较,实现图像与模板的匹配。由于把图像空间影射到码空间上,算法速度有了很大的提高。实验表明新算法比现有的灰度相关算法的计算时间快了两个数量级。

3.2基于邻域灰度编码的图像匹配算法的分析与实现

3.2.1局部灰度特征的编码与计算

首先将整幅图像划分为k×k尺寸且互不重叠的方块,k可根据问题任意选择,称该方块为R-块。如果图像的边长不是k的整数倍,则将最底部与最右边剩余的几行、几列裁剪掉。对于 R-块R,S(Ri)表示Ri所包含像素的灰度值之和。定义R块(如图2中的R5所示)与其周围8个相邻的R块(如图2中的R1,R2,R3,R4,R6,R7,R8,R9所示)组成R-块的邻域。

将 R-块的邻域分为4个部分,分别为D1,D2,D3,D4(如图3所示),称为 R-块的D-邻域。R-块R5分别属于4个D邻域,即D1= R1∪R2∪R4∪R5;D2 =R4∪R5∪R7∪R8;D3=R5∪R6∪R8∪R9;D4 =R2∪R3∪R5∪R6。

沈阳大学毕业设计(论文) No 13

图2 R-块的特征定义

图3 R-块的D-邻域

对于每个D-邻域中的4个R-块,可规定一个顺序(如图2中所取的逆时针序).对Dj所包含的4个 R-块的像素灰度值之和S(Rj1),S(Rj2), S(Rj3),S(Rj4)做排序,显然共有4!=24种可能,每种排序13结果可以用5位的二进制编码来表示,记作p(Dj)∈{00000,00001,L10111}。

对于这24中排序,其实是对应着24种位置关系,如果取D 块内4个R块的逆序,每一种灰度排序对应一种位置关系,给每一种位置关系规定一种编码,

沈阳大学毕业设计(论文) No 14

然后固定下来,就可以了,当然也可以选用顺序,这些不是问题。将R-块Ri所在的4个D-块的P(Dj)做位串并接,得到:F(Ri)=P(D1)P(D2)P(D3)P(D4),对 4 个P(Dj)具体的操作就是:

F(Ri)=(P(D1)<<15)+(P(D2)<<10)+(P(D3)<<5)+P(D4).其中P(Dj)为Ri所在的邻域Dj的二进制编码,<<为左移位操作,其后面的数字表示移位的位数。

定义2 F(Ri)为Ri块的20位二进制编码特征表示,简称Ri块的编码。 由上面简单的推论,可以得出Ri块的编码种类应为244种,但F(Ri)表示R-块Ri的灰度与相邻8个R-块灰度的分布(序)关系,因此,当D1块中的4个R 块的位置关系确定后,既4个R块的灰度值所包含像素的灰度值之和)的大小关系确定后,D2块与D4块中的即4个R块的灰度值的大小关系就不是存在24种可能了,而是存在12种情况,因为R4和R5以及R2和R5的大小关系已经确定,类似的,D3的编码种类就只有6种可能了,但即使这样,各个 R-块的编码还是存在至少24*12*12*6=20736种,足以使得整幅图像中的R-块编码重码率很低,而此算法的准确性也是基于这一点的。另外,这种编码方法体现了图像灰度的相对值,因此对整体灰度值的变化具有相对的稳定性。通过对R-块尺寸k的选择,可以改变图像处理粒度的大小,以改变抵抗不同频率噪声的能力。

3.3特征的匹配过程

在待搜索图S以模板T的长、宽为横向、纵向步长,从S的左上角开始按模板T的大小划分S到的子图称为限制块,记作C(i,j)。其中(i,j)为限制块左上角顶点在搜索图S上的坐标。这样划分后,如果在搜索图S的右侧或底部有剩余部分,则相应地从S的最右侧开始向左,或从最底部开始向上划分出一列或一行限制块,使得全部限制块可以完全覆盖搜索图S。

沈阳大学毕业设计(论文) No 15

限制块C(i,j)与模板T都是尺寸为N×N的图像,各自的R-块特征集合可用方阵 A(c(i,j))与A(T)表示,称为特征编码矩阵,这里k为R-块的边长。 在C(i,j)与T作特征比较时,即比较 A(c(i,j))与A(T)中每一个元素是否相等,则记下矩阵A(c(i,j))的行号、列号。但是,这样的比较存在与图像检索中分形编码中遇到的相同问题,即R块的对齐问题,如图4所示,图4(b)表示的搜索图S中阴影部分与图4(a)表示的模板图T相匹配。但是,在对模板T与图S作R块分割之后,二者间不存在内容相同的R 块了。这时候,提取R块的特征作比较将不能很好的反映两幅图像的局部相似性,匹匹配确率将受到影响。因此,需要对模板T作适当的裁剪,如图3所示,在图4(a)中去掉阴影部分,余下的子区域可构成如图4(c)所示的4个,这时就与图3(b)中右下角4个R 块对齐了。

(a)模板T

沈阳大学毕业设计(论文) No 16

(b) 搜索图S

(c)裁减后的模板 图4 模板对齐问题

在特征匹配中,为了实现模板T与图S的R-块对齐,要对模板T进行适当的裁剪,被剪掉的模板图T的行数u、列数v介于0~k-1之间。如果裁减后的模板图记作T(u,v),则T(u,v)共有k2个。这样虽然多做了k2-1次模板与图S的特征比较,但裁剪与对齐操作,一方面提高了特征匹配的准确度,使搜索结果的峰值更为尖锐;另一方面,由模板图 T 前裁剪掉的行、列数u,v,结合限制块内匹配子区域的位置信息,可以计算出模板T 与搜索图S 匹配的准确参考点。

沈阳大学毕业设计(论文) No 17

3.4 特征比较结果处理

(a)模板T (b)搜索图S 中的一个限制块

图5 特征比较结果的处理

在特征比较的过程中,对于搜索到的与模板T(u,v)有最多相同特征的限制块C(i,j),按矩阵A(c(i,j))的行、列分别累加特征比较结果,得到两个各有(N/K)个元素的一维数组line col L,限制块C(i,j)中与模板T(u,v)匹配的子区域记为 D。由于D所对应的矩阵A(c(i,j))的行、列的累加匹配特征数显著大于其他行、列,这将在一维数组中line col L,各形成一个矩形脉冲。图5(a)为一个 64×64 的模板,图4(b)为与模板T有最多相同特征的限制块C(i,j),限制块C(i, j)内左上尺寸为56×56像素区域,与模板T(u, v)右下尺寸为56×56像素区域匹配,相应限制块C(i, j),按R块逐行累加的每匹配特征的数量,形成的行结果数组line L , 对此一维数组line L作边缘检测滤波,得到矩形脉冲的边沿为1 与13。同理,再对列数组col L 作同样的边缘检测滤波,就可以确定当前限制块C(i,j)与模板T(u,v)匹配的子区域D。把T(u, v)与搜索图S的实际匹配子图记为ph,j。由于C(i,j)的尺寸大于或等于裁减后的模板T(u,v),如果D包含C(i,j)内最左侧的R块,则可知 D位于ph,j的右侧,由此可求出ph,j的左、右边界:

ph,j.right?D.right?k

u,v (3-1)

p h,j.left?D.left?(T?D.width?k) (2-1)

沈阳大学毕业设计(论文) No 18

其中的 left,right,width分别表示矩形的左、右边界S 中坐标与宽度。

图6 特征比较结果按Range 行累加的line L 数组实例

给定的搜索图S 与模板T,基于邻域灰度编码的图像匹配算法步骤如下: 1)对模板T的k2种裁剪情况,分别计算T(u, v)特征,对每个特征编码矩阵A(T(u, v))的元素集排序。

2)对搜索图S计算出所有的R-块的特征。

3)把搜索图S划分为与模板 T 具有相同尺寸的限制块C(i,j),这些限制块仅在搜索图S的最右侧或最低部可能互有重叠,并完全覆盖S。

4)对每一个限制块C(i,j),对其所包含的 R 块的特征编码矩阵A(C(i,j))进行排序,然后与模板 T的k2种裁剪情况下的各个有序特征集分别做有序比较,找到具有最多相同特征的限制块C(i,j)与裁剪过的模板T(u,v)。

5)对C(i,j)重新与模板T(u,v)做特征值的有序比较,累计矩阵A(C(i,j))各行、列的特征比较结果,形成两个一维数组line col L。

6)对 line col L数组,做边缘检测滤波,求得限制块C(i, j)内匹配子区域 D 的边界。

7)由D与限制块C(i, j)的相对位置关系与裁剪情况(u, v),求出模板T在搜索图S中匹配的参考点。

沈阳大学毕业设计(论文) No 19

3.5 算法综合分析

此算法的突出贡献是提出了R-块编码的概念,编码方法体现了图像灰度的相对值,因此对整体灰度值的变化具有相对的稳定性。通过对R-块尺寸K的选择,可以改变图像处理粒度的大小,以改变抵抗不同频率噪声的能力。在检索或匹配过程中,为了加快裁剪后的模板图T(u,v)与限制块C(i,j)特征的相等比较,在比较前对这两个特征集做快速排序(quick sort),使特征集一次比较的时间复杂度由O(N4)降低到O(M2log(N))。而在直接基于灰度值的算法中,比较模板与搜索窗口时需要做加、减、乘运算而非相等比较,所以不能利用排序来减少计算量。而此算法只要进行特征值的相等比较,而且可以采用快速的比较算法,使整个算法的计算复杂度极大地降低。新算法对像素灰度的线性变化与噪声是鲁棒的,并可以证明新算法的时间复杂度是O(M2log(N))。可见在算法时间复杂度方面此算法是比较优秀的。

3.6 试验与结果分析

根据以上理论,本论文主要用C语言实现此算法,在实验的过程中,发现在对图像按k×k分块时,k的取值,对匹配结果是有影响的。实验发现在k取8的时候,匹配的效果比较好。图7为k = 8时的实验效果图,其实验数据分析如表3.1 所示。

沈阳大学毕业设计(论文) No 20

图7 模板(56*124)和原图像(640*480) 表1 不同方法定位测试的平均时间(ms) 算法研究 AD算法 NCC算法 尺度缩放比例为0.25改进NCC算法 灰度编码算法 时间复杂度 10680000 1798781 7250 141 从时间复杂度上来看,基于灰度编码的匹配算法,在速度上有了很大的提高,但是在实际实验的过程中,算法在光照发生变化比较大的情况下,匹配结果并不很理想。以下图8,图9 分别是在均匀光照和不均匀光照情况下图像匹配效果图。

沈阳大学毕业设计(论文) No 21

图8 在均匀光照下的匹配效果图

图9 在不均匀光照下的匹配效果图

通过大量的实验,可以看出,此算法在抗干扰能力上不是太好,这个问题的解决,需要从预处理上来改进,找到一种好预处理算法,解决光照对灰度的影响是关键。

沈阳大学毕业设计(论文) No 22

4特征匹配算法

4.1基于边缘特征点的图像匹配算法

通过前面的介绍了解到,基于灰度的图像匹配方法需要使用整幅图像的灰度信息建立两幅图像之间的相似性度量,导致了计算量很大且速度很慢。基于特征点的图像匹配方法对图像的显著特征进行提取,大大压缩了图像的信息量,使得计算量小,速度较快,而且它对图像灰度变化具有很好的鲁棒性。鉴于基于特征点的图像匹配方法的优秀性能,本章给出了一种基于边缘特征点的图像匹配算法并通过实验证明其有效性。

4.2 特征点提取

变比不变特征点(scale invariance feature transform,SI FT)是由David Lowe提出的。SIFT方法对各种几何变换、光线、噪声具有鲁棒性,特征点描述符有很高的独特性, 并被证明为最具有鲁棒性的特征点方法。

求取缩放空间中的极值点作为侯选特征点首先对图像进行必要的预处理, 接着对图像采用不同的采样距离形成一个金字塔分层结构, 即第一次采样时对图像放大一倍作为第一组图像, 然后以成倍的采样距离即1、2、4个像素分别对图像采样产生二、三、四组的图像。对各层采用不同的高斯滤波因子进行滤波形成高斯金字塔分层结构。将每组中相邻图像相减生成高斯差图像( different of gaussian, DOG),在高斯差金字塔分层结构提取极值点作为侯选特征点。求取极值时,样本点要与相邻8个像素点比较,还要与上下相邻图层中的各9个像素点进行比较,共需要与26个像素进行比较。

沈阳大学毕业设计(论文) No 23

4.2.1 稳定特征点的确定

需要剔除候选特征点中不稳定的特征点,不稳定的特征点分布于图像边缘或是一些低对比度的特征点。剔除低对比度的特征点时,对缩放空间函数D(x)泰勒展开(最高到2次项)。

对其求导得到极值点:

x???D2?x2?1?D ?x

(4-1)

对应的极值点为:

1?DD(x)?D?x (4-2) 2?xT 将D(x)?0.03的低对比度侯选极值点过滤掉。像素点的取值范围为[0, 1]。 边缘特征点剔除过程中,要用到(4-2)的 Hessian 矩阵H为:

?DxxH????DxyD?? (4-3) D??xyyy假设是矩阵H较大的特征值,是矩阵H较小的特征值,令=,则有:

Tr(H)2Det(H)?(???)??2???????2?(??1)?2 (4-4)

式中:Tr(H)表示矩阵H的迹,Det(H)表示矩阵H行列式的值。对取一阀值,大于阀值时作为边缘特征点删除。 4.2.2 特征点方向确定

特征点方向的确定要考虑周围一个窗口内所有点,把最多点的投票方向作为主方向。对图像L(x,y),梯度值m(x,y)和方向(x,y)可通过像素点差值得到:

沈阳大学毕业设计(论文) No 24

m(x,y)?(L(x?1),y)?L(x?1),y))?(L(x,y?1)?L(x,y?1))22 (4-5)

?(x,y)?arctan((L(x,y?1)?L(x,y?1))/L(x?1,y)?L(x?1,y))) (4-6)

在特征点周围一个区域内, 依据样本点梯度方向生成一个方向直方图, 方向直方图用36位来代表360的方向。直方图的最高峰值点的方向作为特征点的主方向。对于直方图中高于最高峰80%的峰值可能有多个,这时就复制该特征点让它具有多个方向。 4.2.3特征点描述符的确定

根据特征点周围像素点得到描述符,在特征点周围确定一个4*4的窗口, 每个窗口内具有8个方向, 即描述符是一个4*4*8=128维的向量。经过以上4个步骤之后, 一幅图像就可以用SIFT方法提取出稳定的特征点,这就为下面的图像匹配打下了很好的基础。

4.3 图像匹配

4.3. 1 NN 算法

我们称待匹配的图像为基准图像,与基准图像匹配的图像为后续图像。如采取为样本特征点与最近邻特征点的距离设置一个阀值,小于该阀值即判断特征点和样本特征点匹配,从而实现特征点间的匹配并可以过滤掉某些不正确匹配的特征点,但执行效果并不太理想, 因为某些待匹配特征点具有很大的差异性, 也有可能被过滤掉。我们采用最近邻算法(nearest neighbor,NN)进行匹配,即采用样本特征点的最近邻特征点距离与次近邻特征点距离的比值来对特征点进行匹配。

沈阳大学毕业设计(论文) No 25

最近邻特征点是指与样本特征点具有最短欧几里德距离的特征点。次近邻特征点是指具有比最近邻距离稍长的欧几里德距离的特征点。用最近邻与次近邻比值来进行特征点的匹配可以取得很好的效果, 从而达到稳定的匹配。 4.3.2 BBF 搜索算法

如何找到特征点的最近邻和次近邻是NN算法的关键。穷举法能够找到最精确的最近邻距离,但是数目特别大时,计算量会以指数级别增长,实用性就大打折扣。

我们采用一种在K-D树搜索算法基础上改进的搜索算法 BBF( bes-t bin-first) 来搜索样本特征点的最近邻和次近邻特征点。K-D树搜索算法是二叉检索树的扩展, K-D树的每一层将空间分成两个。树的顶层结点按一维进行划分, 下一层结点按另一维进行划分,以此类推,各个维循环往复。划分要使得存储在子树中大约一半的结点落入一侧,而另一半落入另一侧。当一个结点中的点数少于给定的最大点数时, 划分结束。K-D树搜索算法大部分时间花费在检查结点上, 并且对高维空间搜索效率降低

如果通过限制K-D树中叶子结点数,对叶结点设一个最大数目可以缩短搜索时间。但是这种改进方法只是根据K-D树的结构来决定叶结点的检查顺序,只考虑已存储的结点位置,并没有考虑被查询结点的位置。BBF搜索算法是在 K-D树基础上用一个优先级队列实现以结点和被查询结点距离递增的顺序来搜索结点,结点和被查询结点的距离是指它们之间的最短距离。当沿一个方向的分支搜索一结点时,优先级队列会被加入一个成员,该成员记录了该结点相关的信息,包括当前结点在树中的位置和该结点与被查询结点之间的距离。当

沈阳大学毕业设计(论文) No 26

一个页结点被搜索到后, 从队列的队首删除一项,然后再搜索包含最近邻结点的的其他分支。

图11 BBF与受限的K-D树比较

图11是从100000个特征点库中得到的,其中BBF搜索算法的最大叶子结点为200,受限的K-D树的最大叶子结点为480,平均搜索次数为1000次。从上图可以看出随着维数的增加, 受限的K-D树搜索性能下降。DDS输出信号噪声和杂散是由相位量化噪声引起的,从理论上讲,由此引起的噪声和杂散是完全有规律可循的, 而相位量化噪声主要是由相位截断误差引起的, 因此设法破坏误差的周期性及其与信号的相关性, 就成为减少DDS杂散的主要方法。抖动注入的方法可有效改善DDS输出信号的杂散,抖动注入的应用有多种方式,可以对输入的频率控制字加抖;可以对ROM的寻址地址加抖, 即相位抖动注入; 还可以对D/A前的数据进行幅度加抖, 即幅度抖动

4.4 实验结果

图像(a)和( b)有40%的重叠, 利用NN方法来对两幅图像进行特征点匹配, 匹配前对两幅图像用SIFT算法提取出各自的特征点集。其中最近邻距离与次

沈阳大学毕业设计(论文) No 27

近邻距离比值设置为0.6,在(a)图中用SIFT方法找到693个特征点,在(b)图中找到774个特征点,匹配的特征点结果为192对,如图(c)所示,匹配的特征点对之间用直线相连接

(a)

(b)

(c)

图12图像匹配

沈阳大学毕业设计(论文) No 28

进一步对最近邻与次近邻比值参数进行修改, 可得到如下结果:

表3 各种比值的匹配结果比较

比值 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 匹配 0 47 93 127 152 172 192 206 237 304 693 比值大于0.7时,从结果图像中看出明显的错误匹配。实验验证最近邻与次近邻比值选在0.4~ 0.65之间比较合适。

4.5 实验仿真

实验一:同源图像匹配 第一组:可见光图像

下面图(a)是参考图像,大小为256×256,第二幅图(b)是待匹配图像,大小为130×118,(c)和(d)为使用本文算法找到的参考图像和待匹配图像边缘特征点。最后的匹配边缘为图(c)和(d)方框中的大边缘。(g)为匹配后的房屋图像。实验得到的匹配数据如表2所示。

沈阳大学毕业设计(论文) No 29

(a) 参考图像

(b)待匹配图像

沈阳大学毕业设计(论文) No 30

(c)参考图像边缘特征点提取

(d)待匹配图像边缘特征点提取

沈阳大学毕业设计(论文) No 31

(e) 参考图像匹配边缘

(f)待匹配图像匹配边缘

(g)本文算法匹配结果

(h)频域相关算法匹配结果 图10 房屋图像的匹配试验

沈阳大学毕业设计(论文) No 32

表2 第一组图匹配数据对比

算法 原始偏移量 单位:像素 原始角度 单位:度 匹配角度 单位:度 偏移量 单位:像素 频域相关算法 (50,50) 5 4.22 (51,49) 本文算法 (50,50) 5 5.10 (49.25,50.5) 表2中数据值是像素偏移量和旋转角度,由实验数据可见,与频域相关算法相比较,本文算法具有较高的精度。

沈阳大学毕业设计(论文) No 33

5块模板匹配法

第一步,输入源图像读出两个图像onion和peppers。以这两个图像为匹配的的模板。

%% Step 1: Read image onion = imread('onion.png'); peppers = imread('peppers.png'); imshow(onion)

figure, imshow(peppers)

图13从matlab中提取目标文件onion

沈阳大学毕业设计(论文) No 34

图14从matlab中提取目标文件peppers

第二步,选取onion和peppers中的各一个区域,定义新的的名称。(选取的图像区域要事先选定好,不能太过偏离图像特征区域,以免实验的匹配效果不佳)显示选中的区域图像。

%% Step 2: Choose subregions of each image

% It is important to choose regions that are similar. The image |sub_onion| % will be the template, and must be smaller than the image |sub_peppers|. % You can get these sub regions using either the non-interactive script % below *or* the interactive script.

% non-interactively

rect_onion = [111 33 65 58];

rect_peppers = [163 47 143 151];

sub_onion = imcrop(onion,rect_onion); sub_peppers = imcrop(peppers,rect_peppers); % OR

% interactively

%[sub_onion,rect_onion] = imcrop(onion); % choose the pepper below the onion %[sub_peppers,rect_peppers] = imcrop(peppers); % choose the whole onion

沈阳大学毕业设计(论文) No 35

% display sub images

figure, imshow(sub_onion) figure, imshow(sub_peppers)

图15用matlab剪贴onion一部分

图16用matlab剪贴一部分peppers

第三步,在两幅图像中进行归一化归一化互相关计算。这个计算主要是通过计算模板图像和匹配图像的互相关值,来确定匹配的程度。互相关最大时的搜索窗口位置决定了模板图像在待匹配图像中的位置。此算法的缺点是参与运算的特征点比较多,运算速度比较的慢。但该计算能更直接的显示图像特征点,所以还是要进行的。这样通过matlab软件显示一个三维的峰值图像,找到图像最佳匹配点。

沈阳大学毕业设计(论文) No 36

%% Step 3: Do normalized cross-correlation and find coordinates of peak % Calculate the normalized cross-correlation and display it as a surface % plot. The peak of the cross-correlation matrix occurs where the % sub_images are best correlated. |normxcorr2| only works on grayscale % images, so we pass it the red plane of each sub image. c = normxcorr2(sub_onion(:,:,1),sub_peppers(:,:,1)); figure, surf(c), shading flat

图17特征点比较图

第四步,确定图像最大匹配点,继续进行图像的线性预算,为后续的图像匹配做准备。

%% Step 4: Find the total offset between the images% The total offset or translation between images depends on the location of

% the peak in the cross-correlation matrix , and on the size and position of % the sub images.

% offset found by correlation [max_c, imax] = max(abs(c(:)));

[ypeak, xpeak] = ind2sub(size(c),imax(1));

corr_offset = [(xpeak-size(sub_onion,2)) (ypeak-size(sub_onion,1))]; % relative offset of position of sub images

rect_offset = [(rect_peppers(1)-rect_onion(1)) (rect_peppers(2)-rect_onion(2))];

沈阳大学毕业设计(论文) No 37

% total offsetoffset = corr_offset + rect_offset; xoffset = offset(1); yoffset = offset(2);

第五步,继续为最后的图像匹配做准备。在图像内提取区域,找出区域属于源图像的哪部分,提取出区域和原图像进行比较。

%% Step 5: See if the onion image was extracted from the peppers image % Figure out where |onion| falls inside of |peppers|. xbegin = round(xoffset+1);

xend = round(xoffset+ size(onion,2)); ybegin = round(yoffset+1);

yend = round(yoffset+size(onion,1));

% extract region from peppers and compare to onion extracted_onion = peppers(ybegin:yend,xbegin:xend,:); if isequal(onion,extracted_onion)

disp('onion.png was extracted from peppers.png') end

第六步,因为图像匹配中可能出现图像的不规格,图像倾斜或者畸变,不能更好的进行图像匹配,在这里我先定义一个零矩阵,把图像定义在一个黑色的背景下,方便图像的匹配,使图像在匹配中可以以点的形式一点点匹配,防止图像在匹配后出现的畸变,省去匹配后的校正过程。

%% Step 6: Pad the onion image to the size of the peppers image

% Pad the |onion| image to overlay on |peppers|, using the offset

% determined above.

recovered_onion = uint8(zeros(size(peppers))); recovered_onion(ybegin:yend,xbegin:xend,:) = onion; figure, imshow(recovered_onion)

沈阳大学毕业设计(论文) No 38

图18用matlab把peppers放在黑背景下

第七步,先是图像的灰度处理,然后就是设计结果显示。把彩色图像匹配到灰色图像中。(在这里可以一步完成,直接显示匹配后的图像,但为了更方便的显示匹配,我分部运行了程序)

%% Step 7: Transparently overlay onion image on peppers image

% Create transparency mask to be opaque for onion and semi-transparent % elsewhere.

[m,n,p] = size(peppers); mask = ones(m,n);

i = find(recovered_onion(:,:,1)==0); mask(i) = .2;

% try experimenting with different levels of % transparency

% overlay images with transparency figure, imshow(peppers(:,:,1)) % show only red plane of peppers

沈阳大学毕业设计(论文) No 39

hold on

h = imshow(recovered_onion); % overlay recovered_onion set(h,'AlphaData',mask)

displayEndOfDemoMessage(mfilename)

图19将图像灰度处理

沈阳大学毕业设计(论文) No 40

图20将剪贴的图片匹配到灰度图中

表4 匹配时间汇总 实验步骤 第一步 第二步 第三步 第四步 第五步 第六步 第七步 合计 运行时间 0.444191 seconds 0.415199 seconds 0.165887 seconds 0.027966 seconds 0.018025 seconds 0.265786 seconds 0.298583 seconds 1.737162 seconds

沈阳大学毕业设计(论文) No 41

结 论

本文主要利用基于灰度匹配和图像特征点的方法进行图像匹配,在匹配过程中主要是寻找块与块灰度匹配和寻找对应的匹配特征点对,为了能够提高搜索效率和精度。

匹配研究涉及到许多相关的知识领域,如图像预处理、图像采样、图像分割、特征提取等技术,并且将计算机视觉、多维信号处理和数值计算等紧密结合在一起。图像匹配技术与图像融合、图像匹配等研究方向密切相关,是图像理解和图像复原等领域的研究基础。

灰度相关的匹配方法是从待拼接图像的灰度值出发,对待匹配图像中一块区域与参考图像中的相同尺寸的区域使用最小二乘法或者其它数学方法计算其灰度值的差异,对此差异比较后来判断待拼接图像重叠区域的相似程度,由此得到待拼接图像重叠区域的范围和位置,从而实现图像拼接。也可以通过FFT变换将图像由时域变换到频域,然后再进行匹配。对位移量比较大的图像,可以先校正图像的旋转,然后建立两幅图像之间的映射关系。当以两块区域像素点灰度值的差别作为判别标准时,最简单的一种方法是直接把各点灰度的差值累计起来。这种办法效果不是很好,常常由于亮度、对比度的变化及其它原因导致拼接失败。另一种方法是计算两块区域的对应像素点灰度值的相关系数,相关系数越大,则两块图像的匹配程度越高。该方法的拼接效果要好一些,成功率有所提高。根据所选择的模板的不同,基于灰度相关的匹配方法可以分为:线匹配法、比值匹配法和块匹配法。

沈阳大学毕业设计(论文) No 42

致 谢

在完成终稿的今天,在敲完最后一个句号的时刻,我的思想同周围凝固的热气一样停驻了,思绪万千,心情久久不能平静。光阴似箭,白驹过隙,转眼间四年大学本科生活就即将结束,四年沈阳大学学习生活注定将成为我人生中的一段重要旅程。四年来,我的师长、同学给予我的关心和帮助,使我终身收益,我真心地感谢他们。

本课题在选题及进行过程中得到程远航教授的悉心指导。论文行文过程中,程老师多次帮助我分析思路,开拓视角,在我遇到困难想放弃的时候给予我最大的支持和鼓励。程老师严谨求实的治学态度,踏实坚韧的工作精神,将使我终生受益。一位平易近人的良师,一位和蔼可亲的朋友。伟人、名人为我所崇拜,可是我更急切地要把我的敬意和赞美献给一位平凡的人——我的导师。

我不是您最出色的学生,而您却是我最尊敬的老师。您治学严谨,学识渊博,视野宽广,为我营造了一种良好的学术氛围。置身其间,耳濡目染,潜移默化,使我不仅深入了解了图像匹配各种算法,树立了明确的学术目标,领会了基本的思考方式,掌握了通用的研究方法,而且还明白了许多待人接物与为人处世的道理。

您严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力,与无微不至、感人至深的人文关怀,令人如沐春风,倍感温馨。感谢可爱可亲的程老师,感谢您在百忙之中对我毕业论文从选题到写作再到最后定稿所付出的辛劳!再多华丽的言语也显苍白。在此,谨向程老师致以诚挚的谢意和崇高的敬意。

沈阳大学毕业设计(论文) No 43

感谢大学四年来,信息学院所有老师对我学习上的帮助和生活上的关怀勤工作,浓浓师恩,终生不忘。

沈阳大学毕业设计(论文) No 44

参考文献

[1]胡明昊,任明武,杨静宇.一种快速实用的特征点匹配算法[M].计算机工程,2004,9:31-33

[2]赵向阳,杜利民.一种全自动稳健的图像拼接融合算法[J].中国图象图形学报,2004,9: 417- 422

[3]崔江涛,刘卫光,周利华.一种多分辨率高维图像特征匹配算法[J].光子学报,2005,1:138-141

[4]冷雪飞,刘建业,熊智,邢广华.鲁棒Hausdorff距离在SAR/惯性组合导航图像匹配中的应用研究[J].东南大学学报(自然科学版),2004,11:141- 144

[5]于秋则,程辉,柳建等.基于改进的Hausdorff测度和遗传算法的SAR图像与光学图像匹配[J].宇航学报,2006,1:130-134

[6] 史锡芬,基于曲率曲线的图形匹配研究[M]微计算机信息,2006,2:3- 3,265- 267

[7]王东峰,邹谋炎.基于最大化对齐度的多模态图像自动匹配[J].电子与信息学报,2003,6,:755- 762

[8]张强,那彦,李建军.基于边缘几何特征和频域相关技术的图像匹配方法[M].应用光学,2006,27(4):285-288

[ 9]廖云涛,任仙怡,张桂林等.一种新的基于对应像素距离度量的图像相关匹配方法[M].红外与激光工程,2001,6:418-421

[ 10]何斌,马天予,王运坚等.Visual C+ +数字图像处理[M] .北京:人民邮电出版社,2001,3:491-500

[11] 徐奕,周军,周源华.基于动态规划的相位匹配和遮挡检测[J].电子学报

沈阳大学毕业设计(论文) No 45

2009,4:591-595

[12]孙冬梅,裘正定.利用薄板样条函数实现非刚性图像匹配算法[J].电子学报.2002,8:1104-1107

[13]周鹏,谭勇,徐守时.基于角点检测图像配准的一种新算法[J].中国科学技术大学学报,2002,8:455-462

[14]季健,昂海松,王旭刚等序列图像中直线边缘快速提取与匹配[J].南京航空航天大学学报,2005,5:37-39

[15]董安国图像匹配最大互相关快速算法[J].浙江万里学院学报,2005,8:13-15

沈阳大学毕业设计(论文) No 46

附录1 源程序清单

onion = imread('onion.png'); peppers = imread('peppers.png'); imshow(onion)

figure, imshow(peppers)

rect_onion = [111 33 65 58]; rect_peppers = [163 47 143 151]; sub_onion = imcrop(onion,rect_onion); sub_peppers = imcrop(peppers,rect_peppers); figure, imshow(sub_onion) figure, imshow(sub_peppers)

c = normxcorr2(sub_onion(:,:,1),sub_peppers(:,:,1)); figure, surf(c), shading flat

[max_c, imax] = max(abs(c(:)));

[ypeak, xpeak] = ind2sub(size(c),imax(1)); corr_offset = [(xpeak-size(sub_onion,2))

(ypeak-size(sub_onion,1))]; rect_offset = [(rect_peppers(1)-rect_onion(1)) (rect_peppers(2)-rect_onion(2))]; offset = corr_offset + rect_offset; xoffset = offset(1);

yoffset = offset(2);

xbegin = round(xoffset+1);

xend = round(xoffset+ size(onion,2)); ybegin = round(yoffset+1);

yend = round(yoffset+size(onion,1));

extracted_onion = peppers(ybegin:yend,xbegin:xend,:); if isequal(onion,extracted_onion)

disp('onion.png was extracted from peppers.png') end

recovered_onion = uint8(zeros(size(peppers)));

recovered_onion(ybegin:yend,xbegin:xend,:) = onion; figure, imshow(recovered_onion)

[m,n,p] = size(peppers); mask = ones(m,n);

i = find(recovered_onion(:,:,1)==0);

mask(i) = .2; % try experimenting with different levels of

figure, imshow(peppers(:,:,1)) % show only red plane of peppers hold on

沈阳大学毕业设计(论文) No 47

h = imshow(recovered_onion); % overlay recovered_onion set(h,'AlphaData',mask)

displayEndOfDemoMessage(mfilename)

沈阳大学毕业设计(论文) No 48

本文来源:https://www.bwwdw.com/article/1oyr.html

Top