【傅里叶梅林图像配准】用于图像配准的傅里叶梅林相位相关性的实现(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

****🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️**座右铭:**行百里者,半于九十。

📋📋📋++本文目录如下:++🎁🎁🎁

目录

[💥1 概述](#💥1 概述)

[📚2 运行结果](#📚2 运行结果)

[🎉3 参考文献](#🎉3 参考文献)

[🌈4 Matlab代码实现](#🌈4 Matlab代码实现)


💥1 概述

傅里叶梅林图像配准是一种基于傅里叶变换和梅林相位相关性的图像配准方法。它可以应用于图像旋转、缩放和平移等简单的几何变换操作。

在图像配准中,傅里叶变换被广泛应用,它将图像从空域转换到频域,使得图像的特征在频域中更加明显。而梅林相位相关性则是一种基于图像的相位信息进行匹配的方法,通过计算图像之间的相位差异来评估它们的相似度。

在傅里叶梅林图像配准中,首先对待配准图像进行傅里叶变换,得到其频谱图。然后,对参考图像进行相同的处理。接着,通过计算两个频谱图的梅林相位相关性,可以得到它们之间的相位差异。根据相位差异的大小,可以确定待配准图像需要进行的旋转、缩放和平移操作。

例如,当待配准图像需要进行旋转时,可以通过调整其频谱图的相位来实现。通过计算待配准图像和参考图像的梅林相位相关性,可以得到最佳的旋转角度。类似地,当待配准图像需要进行缩放或平移时,也可以通过相同的方法来实现。

除了简单的图像旋转、缩放和平移,傅里叶梅林图像配准还可以应用于更复杂的图像变换,例如图像的仿射变换和透视变换。通过对待配准图像进行傅里叶变换和梅林相位相关性计算,可以得到最佳的变换参数,从而实现图像的准确配准。

总而言之,傅里叶梅林图像配准是一种基于傅里叶变换和梅林相位相关性的图像配准方法,可以应用于简单的图像旋转、缩放和平移等几何变换操作。它通过计算图像的相位差异来评估它们的相似度,并通过调整图像的频谱图来实现准确的配准。除了简单的变换,它还可以应用于更复杂的图像变换,为图像处理和计算机视觉领域提供了一种有效的配准方法。

📚 2 运行结果

【傅里叶梅林图像配准】用于图像配准的傅里叶梅林相位相关性的实现(Matlab代码实现) - 知乎

部分代码:

% The procedure is as follows (note this does not compute scale)

    % (1)   Read in I1 - the image to register against
    % (2)   Read in I2 - the image to register
    % (3)   Take the FFT of I1, shifting it to center on zero frequency
    % (4)   Take the FFT of I2, shifting it to center on zero frequency
    % (5)   Convolve the magnitude of (3) with a high pass filter
    % (6)   Convolve the magnitude of (4) with a high pass filter
    % (7)   Transform (5) into log polar space
    % (8)   Transform (6) into log polar space
    % (9)   Take the FFT of (7)
    % (10)  Take the FFT of (8)
    % (11)  Compute phase correlation of (9) and (10)
    % (12)  Find the location (x,y) in (11) of the peak of the phase correlation
    % (13)  Compute angle (360 / Image Y Size) * y from (12)
    % (14)  Rotate the image from (2) by - angle from (13)
    % (15)  Rotate the image from (2) by - angle + 180 from (13)
    % (16)  Take the FFT of (14)
    % (17)  Take the FFT of (15)
    % (18)  Compute phase correlation of (3) and (16)
    % (19)  Compute phase correlation of (3) and (17)
    % (20)  Find the location (x,y) in (18) of the peak of the phase correlation
    % (21)  Find the location (x,y) in (19) of the peak of the phase correlation
    % (22)  If phase peak in (20) > phase peak in (21), (y,x) from (20) is the translation
    % (23a) Else (y,x) from (21) is the translation and also:
    % (23b) If the angle from (13) < 180, add 180 to it, else subtract 180 from it.
    % (24)  Tada!

    % Requires (ouch):

    % 6 x FFT
    % 4 x FFT Shift
    % 3 x IFFT
    % 2 x Log Polar
    % 3 x Phase Correlations
    % 2 x High Pass Filter
    % 2 x Image Rotation

    % ---------------------------------------------------------------------
   
    
    
    % Load first image (I1)

    I1 = imread('lena.bmp');

    
    

    % Load second image (I2)

    I2 = imread('lena_cropped_rotated_shifted.bmp');

    
    
    % ---------------------------------------------------------------------
   
    
    
    
    % Convert both to FFT, centering on zero frequency component

% The procedure is as follows (note this does not compute scale)

% (1) Read in I1 - the image to register against

% (2) Read in I2 - the image to register

% (3) Take the FFT of I1, shifting it to center on zero frequency

% (4) Take the FFT of I2, shifting it to center on zero frequency

% (5) Convolve the magnitude of (3) with a high pass filter

% (6) Convolve the magnitude of (4) with a high pass filter

% (7) Transform (5) into log polar space

% (8) Transform (6) into log polar space

% (9) Take the FFT of (7)

% (10) Take the FFT of (8)

% (11) Compute phase correlation of (9) and (10)

% (12) Find the location (x,y) in (11) of the peak of the phase correlation

% (13) Compute angle (360 / Image Y Size) * y from (12)

% (14) Rotate the image from (2) by - angle from (13)

% (15) Rotate the image from (2) by - angle + 180 from (13)

% (16) Take the FFT of (14)

% (17) Take the FFT of (15)

% (18) Compute phase correlation of (3) and (16)

% (19) Compute phase correlation of (3) and (17)

% (20) Find the location (x,y) in (18) of the peak of the phase correlation

% (21) Find the location (x,y) in (19) of the peak of the phase correlation

% (22) If phase peak in (20) > phase peak in (21), (y,x) from (20) is the translation

% (23a) Else (y,x) from (21) is the translation and also:

% (23b) If the angle from (13) < 180, add 180 to it, else subtract 180 from it.

% (24) Tada!

% Requires (ouch):

% 6 x FFT

% 4 x FFT Shift

% 3 x IFFT

% 2 x Log Polar

% 3 x Phase Correlations

% 2 x High Pass Filter

% 2 x Image Rotation

% ---------------------------------------------------------------------

% Load first image (I1)

I1 = imread('lena.bmp');

% Load second image (I2)

I2 = imread('lena_cropped_rotated_shifted.bmp');

% ---------------------------------------------------------------------

% Convert both to FFT, centering on zero frequency component

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]李翰威,崔飞易,凌庆庆,等.基于傅里叶梅林变换的图像配准方法[J].中国医学物理学杂志, 2023, 40(5):562-567.

[2]李傲梅,姜万里.基于图像特征的傅里叶梅林变换在图像配准中的应用[J].计算机与数字工程, 2017, 45(4):5.DOI:10.3969/j.issn.1672-9722.2017.04.030.

[3]周刚.一种傅里叶-梅林变换空间图像快速配准算法[J]. 2010.

[4]焦继超1,赵保军1,周刚2.一种傅里叶---梅林变换空间图像快速配准算法[J].兵工学报, 2010, 31(12):1551-1556.

🌈4 Matlab代码实现

相关推荐
The_Ticker8 分钟前
CFD平台如何接入实时行情源
java·大数据·数据库·人工智能·算法·区块链·软件工程
Elastic 中国社区官方博客14 分钟前
Elasticsearch 开放推理 API 增加了对 IBM watsonx.ai Slate 嵌入模型的支持
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
jwolf215 分钟前
摸一下elasticsearch8的AI能力:语义搜索/vector向量搜索案例
人工智能·搜索引擎
有Li23 分钟前
跨视角差异-依赖网络用于体积医学图像分割|文献速递-生成式模型与transformer在医学影像中的应用
人工智能·计算机视觉
新加坡内哥谈技术44 分钟前
Mistral推出“Le Chat”,对标ChatGPT
人工智能·chatgpt
GOTXX1 小时前
基于Opencv的图像处理软件
图像处理·人工智能·深度学习·opencv·卷积神经网络
IT古董1 小时前
【人工智能】Python在机器学习与人工智能中的应用
开发语言·人工智能·python·机器学习
CV学术叫叫兽1 小时前
快速图像识别:落叶植物叶片分类
人工智能·分类·数据挖掘
xrgs_shz1 小时前
MATLAB读入不同类型图像并显示图像和相关信息
图像处理·计算机视觉·matlab
WeeJot嵌入式2 小时前
卷积神经网络:深度学习中的图像识别利器
人工智能