采用相关分析进行图像的快速匹配定位

合集下载

如何进行高效的图像匹配和图像配准

如何进行高效的图像匹配和图像配准

如何进行高效的图像匹配和图像配准图像匹配和图像配准是计算机视觉领域中常见的任务,其目的是通过计算机算法将两幅或多幅图像进行比较,从而找出它们之间的相似性或者进行图像的对齐。

本文将介绍一些高效的图像匹配和图像配准的方法。

一、图像匹配图像匹配即是将一幅图像中的特征在另一幅图像中找到对应物体或者区域。

下面是一些常见的图像匹配方法:1.特征点匹配特征点匹配是最常见的图像匹配方法之一,它通过在图像中提取特征点,并计算特征点的描述子,然后使用某种度量来比较两幅图像的特征点,找出最相似的特征点对。

常用的特征点匹配算法包括SIFT、SURF和ORB等。

2.直方图匹配直方图匹配是一种基于图像全局颜色或纹理分布的匹配方法,它将图像的直方图进行比较,通过计算直方图之间的相似性度量来进行匹配。

直方图匹配适用于颜色和纹理信息较为明显的图像匹配任务。

3.模板匹配模板匹配是一种基于像素点灰度值的匹配方法,它通过将一个预定义的模板图像滑动或者扫描到待匹配图像上,计算模板和图像之间的相似性度量,从而找到最佳匹配位置。

模板匹配适用于物体检测和目标跟踪等应用场景。

4.特征描述子匹配特征描述子匹配是一种将图像中的局部特征点的描述子进行比较的匹配方法,它通过计算特征点描述子之间的相似性度量找到最佳匹配。

常用的特征描述子匹配算法包括基于二值描述子的BRISK和ORB,基于二进制描述子的BRIEF和FREAK,以及基于浮点数描述子的SIFT、SURF和AKAZE等。

二、图像配准图像配准是将两幅或多幅图像进行对齐,使得它们在空间上或者几何上具有一致性。

下面是一些常用的图像配准方法:1.特征点配准特征点配准是将两幅图像中的特征点进行对应的一种配准方法,它通过计算特征点的几何变换关系,然后将其中一幅图像进行变换,使得两幅图像的特征点对应一致。

常用的特征点配准方法包括RANSAC、LMS和Hough变换等。

2.像素级配准像素级配准是将两幅图像的像素进行一一对应的配准方法,它通过计算图像间的几何变换关系,然后将其中一幅图像进行变换,使得两幅图像在几何上对应一致。

使用计算机视觉技术进行图像匹配的方法与技巧

使用计算机视觉技术进行图像匹配的方法与技巧

使用计算机视觉技术进行图像匹配的方法与技巧随着计算机视觉技术的发展,图像匹配在许多领域中发挥着重要作用,如图像检索、目标跟踪、人脸识别等。

图像匹配的目标是在一幅图像中寻找与另一幅图像相似的区域或物体。

本文将介绍使用计算机视觉技术进行图像匹配的常见方法与技巧。

首先,介绍一种常见的图像匹配方法——特征点匹配。

特征点是图像中具有明显区域的点,可以通过检测局部特征来获取。

常用的特征点检测算法有Harris角点检测、SIFT、SURF等。

特征点匹配是通过计算两幅图像中的特征点之间的相似度来进行匹配的。

常用的特征点匹配算法有基于距离的匹配算法,如最近邻算法和最佳匹配算法,以及基于几何约束的匹配算法,如RANSAC算法和Hough变换。

另一种常见的图像匹配方法是基于模板匹配。

模板匹配是指在图像中寻找与预定义模板图像最相似的区域。

模板可以是一个物体的轮廓、一个图案或一个文本等。

在模板匹配中,首先要选择一个合适的相似性度量,如平方差和相关系数等。

然后,通过滑动窗口的方式,在目标图像中搜索与模板最相似的区域。

模板匹配的缺点是对光照、尺度、旋转等变化敏感。

除了特征点匹配和模板匹配,还有一种常见的图像匹配方法是基于深度学习的方法。

深度学习是一种通过学习大量数据来构建模型的机器学习方法。

在图像匹配中,可以使用卷积神经网络(CNN)来提取图像的特征表示,然后通过计算图像之间的相似度来进行匹配。

深度学习方法在图像匹配中具有较好的性能,但需要大量的训练数据和计算资源。

在进行图像匹配时,还有一些技巧可以提高匹配的准确率。

首先,预处理图像是非常重要的。

可以通过调整图像的亮度、对比度、尺度等来增强图像的质量。

其次,在选择特征点匹配算法时,应根据具体情况进行选择,不同算法针对不同场景可能会有不同的效果。

此外,通过使用多种算法的组合或级联可以进一步提高匹配的准确率。

最后,进行匹配时要考虑到图像的不同变化因素,如光照、尺度、旋转等。

综上所述,图像匹配在计算机视觉领域中具有重要的应用价值。

基于相位相关的图像匹配算法研究

基于相位相关的图像匹配算法研究

基于相位相关的图像匹配算法研究胡海;罗桂娥【摘要】提出一种基于相位相关的图像匹配方法.针对仅有位移变换的图像,给出基于相位相关的模板匹配方法,并进行了改进,然后利用人工平移的方式进行实验验证.结合Fourier-Mellin变换理论,给出解决旋转问题的图像匹配方法,并利用人工旋转的方式进行了实验验证.实验结果表明,本方法在精度和速度上都能取得比较满意的效果.【期刊名称】《微型机与应用》【年(卷),期】2013(032)007【总页数】3页(P5-7)【关键词】相位相关;傅里叶-梅林变换;模板匹配【作者】胡海;罗桂娥【作者单位】中南大学信息科学与工程学院,湖南长沙410083;中南大学信息科学与工程学院,湖南长沙410083【正文语种】中文【中图分类】TP391图像匹配是评价两幅或多幅图像的相似性以确定同名点的过程。

图像匹配算法就是设法建立两幅图像之间的对应关系,确定相应几何变换参数,对两幅图像中的一幅进行几何变换的方法。

图像匹配是图像分析和处理过程中的基本问题。

它在航空影像自动制图、图像三维重构、计算机视觉、遥感融合、模式识别、医学图像处理、影像分析等领域都有十分重要的应用。

目前图像匹配算法分为基于图像特征和基于图像灰度两大类。

在诸多现有的图像匹配算法中,基于相位相关的方法以其计算量小、抗噪声等优点得到广泛关注。

本文提出的基于相位相关的模板匹配方法不但有很高的匹配精度而且能精确地测量出相对图像对之间的相对平移量,但它对旋转变换很敏感。

为了能够准确实现图像匹配,本文结合Fourier-Mellin变换求取图像的旋转量,并对图像进行匹配[1-5]。

1 Fourier变换位移理论基于频域傅里叶变换相位相关法描述如下:f1(x,y),f2(x,y)是定义在空间 R2的两幅图像,假定f1(x,y)是参考图像,图像 f2(x,y)是 f1(x,y)平移(x0,y0)后的观测图像,两者之间的关系可表示为:根据傅里叶变换的性质有:则两幅图像的互功率谱为:式中,F(ξ,η)为 F1(ξ,η)的复共轭。

计算机视觉技术中的图像配准算法介绍

计算机视觉技术中的图像配准算法介绍

计算机视觉技术中的图像配准算法介绍图像配准是计算机视觉的一个关键任务,其目标是将多张图像从不同的视角、尺度或形变下进行对齐,以便于后续的图像处理和分析。

图像配准技术广泛应用于医学影像、遥感影像、计算机辅助设计等多个领域。

本文将介绍几种常见的图像配准算法,包括特征点匹配、相位相关法和仿射变换法。

特征点匹配是图像配准中最常用的算法之一。

该算法的思想是在图像中提取一些鲁棒的特征点,并通过匹配这些特征点来确定两幅图像之间的变换关系。

常用的特征点包括角点、边缘点和尺度不变特征点(SIFT、SURF等)。

特征点匹配算法可以分为基于局部邻域的匹配和基于全局优化的匹配。

前者主要根据特征点附近的图像信息进行匹配,例如使用局部特征描述子来计算相似性。

后者则通过全局最优化方法,如RANSAC、Hough变换等,对所有特征点进行匹配和优化,以得到更准确的变换矩阵。

相位相关法是一种基于频域的图像配准方法。

该方法通过计算图像的互相关函数(cross-correlation)来确定两幅图像间的平移参数。

互相关函数测量了两幅图像在不同平移情况下的相似性,平移参数对应于最大互相关值出现的位置。

相位相关法适用于提供噪声较小、对齐相对简单的图像,例如纹理丰富的物体或具有明确边缘的物体。

此外,相位相关法还可以通过引入多尺度和金字塔技术来增强算法的鲁棒性,以适应不同尺度和旋转情况下的图像配准需求。

仿射变换法是一种常用的几何变换方法,它能够通过应用平移、旋转、缩放和切变等操作,将一幅图像映射到另一幅图像上。

在图像配准中,仿射变换法假设两幅图像具有相似的几何形状,且变换关系可以通过线性变换来表示。

一般来说,仿射变换法需要事先提取出一些图像上的特征点,并通过最小二乘法或一致性检测等方法来优化变换参数。

仿射变换法广泛应用于平面图像的配准,例如拼接全景图像、图像纠正和图像校正等场景。

除了上述介绍的算法,图像配准还有其他一些方法,如强度匹配法、基于统计的方法和形态学变换等。

图像配准的常用方法

图像配准的常用方法

图像配准的常用方法法图像配准的方法大致分为三类,一类是基于灰度和模板的,这类方法直接采用相关运算等方式计算相关值来寻求最佳匹配位置,方法简单较为死板,一般效果不会太好。

第二类是基于特征的匹配方法,如sift、surf点特征,或者向量特征等等,适应性较强。

第三类是基于域变换的方法,采用相位相关(傅里叶-梅林变换)或者沃尔什变换、小波等方法,在新的域下进行配准。

1. 基于模板匹配的图像配准板匹配时图像配准算法中简单而常见的算法。

在模板匹配中对图像的配准有整幅图像进行的撇皮,也有局部图像和局部图像之间进行的匹配。

在模板匹配过程中通常对模板进行平移,计算对应关系。

一般情况下,采用模板和图像的相关运算计算相关值,相关值越大表示匹配越好。

模板匹配对形态固定的图案具有较好的效果,但是随着配准图像在数量级的扩大,计算复杂度会增加,实时性会增加,随着图像拍摄环境和成像条件的多变,算法的适应性会变差。

2. 基于灰度的图像配准灰度图像配准是利用灰度信息来测量图像的相同部分,方法简单,但是对目标的变动和扭曲会影响配准效果。

较为常见的是求其相似性代价函数,将图像的灰度差做平方和运算。

灰度图像配准方法不需要提取图像的几何特征,所以有很高的识别精度和适用性,单也因为图像灰度信息鼠标比较大,因此运算量大,效率低。

3. 相位相关法、傅里叶-梅林变换(基于变换域的方法)基于变换域的方法有很多,这里安利下我之前的博客:傅里叶-梅林变换进行图像配准,也就是采用了基于相位相关的方法进行的,博客中给出了Matlab的源码。

相位相关法师对图像进行参数转换,利用转换后的参数进行运算,图像由参数变换转换到频域,利用傅里叶变换得到平移后的结果,再在频域实现匹配图像的配准。

在傅里叶变换后,图像的平移成分转换到了相位,计算相位的最大匹配位置,就可以得到原始图像的平移量了,这就是相位相关。

更进一步,我们引入傅里叶-梅林变换的概念。

我们通过相位相关只能得到平移量,那么如果有旋转和缩放呢?是否还记得传统图像中的对数-极坐标变换呢?没错,将二者结合起来:相位相关得到平移位置,对数变换得到尺度,极坐标变换得到旋转角,这就是傅里叶-梅林变换。

图像匹配点对的检测方法

图像匹配点对的检测方法

图像匹配点对的检测方法图像匹配在计算机视觉领域中起着重要的作用,它可以用于目标跟踪、图像识别、三维重建等各种应用。

而图像匹配的关键在于确定图像中的对应点对,即找到两个图像中具有相似语义的特征点。

本文将介绍几种常用的图像匹配点对的检测方法。

一、SIFT算法SIFT(Scale Invariant Feature Transform)算法是一种图像特征提取算法,广泛应用于图像匹配之中。

该算法的主要思想是通过检测图像中的尺度不变特征点,并对这些特征点进行描述。

在对比两幅图像时,可以通过比较这些特征点的描述子来确定图像中的对应点对。

SIFT算法的具体过程如下:1. 尺度空间构建:通过高斯金字塔构建每组不同尺度的图像。

2. 尺度不变特征点检测:在每个尺度上,通过DoG(Difference of Gaussian)算法检测特征点。

3. 方向分配:为每个特征点分配主方向,使得特征点具有旋转不变性。

4. 特征描述:根据特征点的主方向,计算其周围像素的梯度直方图,生成特征描述子。

二、SURF算法SURF(Speeded-Up Robust Features)算法是对SIFT算法的改进和优化。

该算法通过使用积分图像来加速特征点检测和描述子计算的过程,提高了算法的实时性和稳定性。

SURF算法的具体过程如下:1. 尺度空间构建:通过使用高斯滤波器构建图像的尺度空间金字塔。

2. 特征点检测:在每个尺度上,通过Hessian矩阵的行列式来检测特征点。

3. 特征点定位:通过非极大值抑制和阈值判定,选取具有较大响应的特征点。

4. 主方向分配:为每个特征点分配主方向,使得特征点具有旋转不变性。

5. 特征描述:根据特征点的主方向,在其周围的区域计算特征描述子。

三、ORB算法ORB(Oriented FAST and Rotated BRIEF)算法是一种具备旋转不变性和计算效率的图像特征描述算法。

该算法结合了FAST角点检测算法和BRIEF描述算法,可以快速且准确地进行特征点检测和描述。

使用计算机视觉技术实现图像匹配和配准的方法和技巧

使用计算机视觉技术实现图像匹配和配准的方法和技巧

使用计算机视觉技术实现图像匹配和配准的方法和技巧计算机视觉技术在图像匹配和配准方面起着重要的作用。

图像匹配和配准是指通过计算机对两幅或多幅图像进行比较和对齐的过程,目的是找到它们之间的相似性和重叠区域。

在计算机视觉领域中,图像匹配和配准的方法和技巧正在不断发展和改进,为各种应用提供了强大的工具。

一、图像匹配的方法和技巧1. 特征提取:图像匹配的第一步是对图像中的特征进行提取。

常用的特征包括角点、边缘、纹理等。

通过提取关键点和描述子,可以用于后续的匹配和配准过程。

2. 特征匹配:在特征提取的基础上,需要对两幅图像中的特征进行匹配。

常见的特征匹配方法包括最近邻匹配、最近邻搜索、RANSAC等。

最近邻匹配将待匹配特征点与目标图像中最相似的特征进行匹配。

3. 特征描述:对匹配到的特征进行描述是图像匹配中的关键步骤。

常用的特征描述算法有SIFT(尺度不变特征变换)、SURF(加速稳健特征)和ORB (Oriented FAST and Rotated BRIEF)等。

这些算法可以提取图像中的局部特征,并将其转化为能够容易匹配的向量表示。

4. 特征筛选:通过匹配得到的特征点可能存在误匹配和几何变化等问题。

因此,需要对匹配结果进行筛选和校正。

常用的方法包括基于几何变换模型的筛选和基于一致性检验的筛选。

5. 特征配准:匹配到的特征点可以用于图像配准,即将两幅图像进行对齐。

常用的配准方法有基于特征点的配准、基于区域的配准和基于自动的配准等。

配准过程的目标是通过对图像进行变换,使得它们在几何和视觉上尽可能地对齐。

二、图像配准的方法和技巧1. 基于特征点的配准:特征点在图像中具有明显的区分度和稳定性。

通过提取两幅图像中的特征点,并进行匹配和筛选,可以得到图像的相似变换模型,并实现图像的配准。

2. 基于区域的配准:图像的全局特征可以通过提取图像中的区域来实现。

通过提取两幅图像中的区域,并对这些区域进行匹配和筛选,可以得到图像的相似变换模型,并实现图像的配准。

图像处理中的特征提取和匹配算法

图像处理中的特征提取和匹配算法

图像处理中的特征提取和匹配算法图像处理在日益热门的人工智能技术中扮演着一种重要的角色。

在图像处理中,特征提取和匹配算法是两个至关重要的步骤。

特征提取是通过分析图像的局部特点来创建描述图像内容的向量,而匹配是将不同图像的特征或特征向量进行比较,以确定它们是否相似。

本文将介绍几种常用的特征提取和匹配算法。

一、特征提取算法1.尺度不变特征变换(SIFT)SIFT是一种特征提取算法,它能够从不同的尺度和方向上提取图像的局部特征。

这种算法在检索和匹配图像中特别有用。

SIFT算法的基本思想是通过高斯差分算子得到一组尺度空间图像,通过高斯图像之间的差异来确定关键点,然后计算每个关键点的局部梯度的幅值和方向,最后形成一个基于梯度方向的特征描述符。

2.速度增强型稀疏编码(SLEEC)SLEEC是一种新型的高效特征提取算法。

与其他算法不同的是,SLEEC只需扫描一次训练数据即可获得最具代表性的特征。

该算法通过运用具有多个分辨率的降采样、随机稀疏和加速度分析三种技术提取特征,从而实现了比其他算法更高的准确性和速度。

二、特征匹配算法1.暴力匹配算法暴力匹配算法是一种基本的匹配算法,它实现了图像特征之间的精确匹配。

该算法通过比较两个图像之间的每个可能的匹配,来确定匹配的好坏。

虽然该算法的准确性很高,但是它非常耗时,因此只适用于小图像匹配。

2.基于Flann树的匹配算法基于Flann树的匹配算法通过对特征向量进行一系列分割和聚类,以快速找到大量数据中的相似匹配。

该算法不仅适用于大规模数据集,而且具有高效和稳定性。

3.随机抽样一致性算法(RANSAC)随机抽样一致性算法是一种常见的特征匹配算法。

该算法通过随机采样一对点来确定匹配,在这个过程中,通过迭代重复采样和检测结果,不断提高匹配模型的准确度。

结论:在图像处理和计算机视觉中,特征提取和匹配是核心算法。

不同的特征提取和匹配算法适用于不同的应用场合。

在实际应用中,为了达到对图像的快速识别和匹配,我们需要根据具体的需求,选择合适的特征提取和匹配算法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四:采用相关分析进行图像的快速匹配定位1.实验目的:a. 掌握图像信号处理的基本概念和一般方法,学会读入图像信息。

b. 学习图像匹配的一般方法,了解相关估计在图像匹配和检测中的应用。

c. 熟悉图像匹配与校准定位的基本方法,学习二维图像信号的快速相关估计的基本算法,学会用FFT 作快速相关估计。

2.实验内容:a. 读入图像数据。

b. 编写图像匹配的程序,从一幅图像中任取一幅子图(模板T ),然后 在另外一幅图像中寻找能和该子图匹配的目标(S i,j )的位置。

c. 设计程序界面,将匹配结果直观地显示出来。

d. 探讨快速算法。

3.算法讨论及分析 算法1:设模板T 在被搜索图S 中平移,模板覆盖下的那块子图像我们记做S i,j ,(i,j)为这块子图像的左上角象素点在S 中的坐标,从图1中,我们可以看出i 和j 的取值范围为:1<i , j < N-M +1,现在可以比较T 和S i,j 的内容,如果两者一致,则T 和S i,j 之差为零,所以可以用以下测度来衡量T 和S i,j 的相似程度。

()()()2,11,,,MMi jm n D i j S m n T m n ==⎡⎤=-⎣⎦∑∑(1)图4-1被搜索的图像(a )与模板(b )展开式(1),则有()()()()()22,,111111,,2,,,MMMMMMi ji jm n m n m n D i j Sm n Sm n T m n T m n ======⎡⎤=-⨯+⎡⎤⎣⎦⎣⎦∑∑∑∑∑∑(2)式(2)右边第三项表示模板的总能量,它是一个常数,与(i,j)无关;第一项是模板覆盖下的那块子图像的能量,它随着(i,j)的改变而缓慢变化;第二项是被覆盖子图和模板的互相关,它随着(i,j)的改变而变化。

当T 和S i,j 匹配时,式(2)的第二项的取值最大。

因此,我们可以用以下相关函数作相似性测度:()()(),,,,M Mi jS m n T m n R i j ⨯=∑∑(3)易知()0,1R i j ≤≤,并且仅当()(),,,i j S i j T i j 为常数时,(),R i j 取极大值,这时T 和S i,j 匹配。

方法一:方法一采用的是完全按照相关系数的定义,使用循环函数,完成对相关系数的求解,程序流程图如下。

方法二:(),11(,),(,)m nx y k l R x y s x k y l t k l ===++∑∑(4),(,)x y R x y 为子块(),s x y 与模板图像t 相关系数,可通过FFT 快速计算,根据FFT 的性质有(){},(,)(,),x y R x y IFFT S u v T u v *=•式中(,)S u v 为基准图像(),s x y 的傅里叶变换,(),T u v *为模板图像T 的傅里叶变换的共轭,因此可通过一次FFT 变换和IFFT 变化求出整个被搜索图像与模板图像相关系数。

根据公式(3),需要计算基准图像的能量值S 2。

分析得之,可以看出,相邻点的计算含有大量的重复操作。

经分析可得,()()()12222,1,1111,,,(,)m nm n x m x y x yi j i j i xSi j S i j S i y n S i y +-+=====⎡⎤=++-⎣⎦∑∑∑∑∑(5)()()()122221,,1111,,,(,)y n mnmnx yx yi j i j j ySi j S i j S x m j S x j +-+=====⎡⎤=++-⎣⎦∑∑∑∑∑(6)利用之前的结果,可以节省一定的计算时间。

4.实验结果及分析该实验使用图片pic1_2.bmp ,使用模板templet1_2.bmp 。

在matlab 中,读入的图像数据为图像每一个像素的灰度值,将模板的灰度值存在一个向量中,与原图进行匹配,如果相关系数达到极大值,则说明匹配良好,找到搜索的结果。

(a)被搜索的图片pic1_2.bmp(b)被搜索的图片templet1_2.bmp(c)搜索的结果图4-2 实验所使用的图片表1 两种方法计算时间对比序号方法计算时间1方法一110s2方法二 5.2s5.原程序清单方法一:clear allS1=imread('pic1_2.bmp');%读入被搜索的图片pic1_2.bmpS=double(S1);%读入的图片数据类型是uint8,转换类型为doubleg1=imread('templet1_2.bmp');%读入模板图片templet1_2.bmpg=double(g1);%读入的图片数据类型是uint8,转换类型为doublex=size(g,1); %获取g的行数m=size(S,1);%S的X坐标y=size(g,2); %获取g的列数n=size(S,2);%S的Y坐标Sxy=0*g; %定义临时变量tempg=0;tempg=double(tempg);gvector=ones(x*y,1); %定义临时变量,将g矩阵存储为列向量的形式Svector=0*gvector; %定义临时变量,将S矩阵的分块存储为列向量的形式for i1=1:1:x %使用循环,将g矩阵存储为列向量的形式for i2=1:1:ygvector((i1-1)*y+i2,1)=g(i1,i2);endendfor numy=1:1:n-y+1 %使用循环,将S矩阵分块存储为列向量的形式for numx=1:1:m-x+1for i1=1:1:xfor i2=1:1:ySxy(i1,i2)=S(i1+numx-1,i2+numy-1);endendfor i1=1:1:xfor i2=1:1:ySvector((i1-1)*y+i2,1)=Sxy(i1,i2);endendR=corrcoef(gvector,Svector); %求得S分块与模板g的相关系数if R(1,2)>0.95 %找出图片中与模板相匹配的位置,并标记imshow(S1)for i=1:1:ytext(numy+i-1,numx,'\o ','Color','red');endfor i=1:1:xtext(numy,numx+i-1,'\o ','Color','red');endfor i=1:1:xtext(numy+y-1,numx+i-1,'\o ','Color','red');endfor i=1:1:ytext(numy+i-1,numx+x-1,'\o ','Color','red');endbreak;endendif R(1,2)>0.95break;endend方法二clear allS1=imread('pic1_1.bmp'); %读入被搜索的图片pic1_2.bmpS=double(S1); %读入的图片数据类型是uint8,转换类型为doubleg1=imread('templet1_1.bmp'); %读入模板图片templet1_2.bmpg=double(g1); %读入的图片数据类型是uint8,转换类型为doublex=size(g,1); %获取g的行数m=size(S,1); %S的X坐标y=size(g,2); %获取g的列数n=size(S,2); %S的Y坐标[R,corr1]=Dfft(S,g,1,1); %使用FFT和IFFT函数,求解相关系数gg=sum(sum(g.^2)); %使用FFT和IFFT函数,求解相关系数St1=zeros(1,y); %定义变量St2=St1; %定义变量for numy=1:1:n-y+1for numx=1:1:m-x+1if (numx==1)&&(numy==1)%求解numx=1时的Sxy的值,为之后求解numx!=1时的Sxy做准备Sxy=S(numx:1:x+numx-1,numy:1:y+numy-1);ss0=sum(sum(Sxy.^2));ss=ss0;elseif (numx==1)&&(numy~=1) %使用公式(5)计算列的St1=S(numx:1:numx+x-1,numy-1);St2=S(numx:1:numx+x-1,numy+y-1);ss0=ss0+sum(St2.^2)-sum(St1.^2);ss=ss0;else %根据公式(6)求解numx!=1时的Sxy的值,St1=S(numx-1,numy:1:numy+y-1);St2=S(numx+x-1,numy:1:numy+y-1);ss=ss+dot(St2,St2)-dot(St1,St1);endR1=corr1(numx,numy)/sqrt(gg*ss); %求基准图像与模板图像之间的相关系数if R1>0.95 %找出图片中与模板相匹配的位置,并标记imshow(S1)for i=1:1:ytext(numy+i-1,numx,'\o ','Color','red');endfor i=1:1:xtext(numy,numx+i-1,'\o ','Color','red');endfor i=1:1:xtext(numy+y-1,numx+i-1,'\o ','Color','red');endfor i=1:1:ytext(numy+i-1,numx+x-1,'\o ','Color','red');endbreak;endendif R1>0.95break;endendfunction [R,corr1]=Dfft(I1,I2,i,j)[m1 n1] = size(I1);[m2 n2] = size(I2);I1 = padarray(I1,[1024 - m1,1024 - n1],'post');I2 = padarray(I2,[1024 - m2,1024 - n2],'post');% 计算FFT,乘以时域信号然后进行fftFI1 =(fft2(I1));FI2 = (fft2(I2));% 求解互相关,f(x,y)°h(x,y) = ifft2{conj(F(u,v)).*H(u,v)},复数共轭分别对模板和图像进行如下corr1 = (ifft2(FI1.*conj(FI2)));R=corr1(i,j);6.实验后的体会和建议通过该实验,通过自己编程,掌握图像信号处理的基本概念和一般方法,学会读入图像信息。

相关文档
最新文档