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

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈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代码实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/97923.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习-卷积神经网络-ResNET

文章目录 前言1.resnet2.作者3.精度&#xff08;TOP-5&#xff09;4.论文一览5.竞赛排名6.网络退化7.残差8.残差 1.作者 前言 本文来自B站&#xff1a; ResNet深度残差网络 1.resnet 2.作者 3.精度&#xff08;TOP-5&#xff09; 4.论文一览 5.竞赛排名 6.网络退化 ResNet解…

【2023研电赛】东北赛区一等奖作品:基于FPGA的小型水下无线光通信端机设计

本文为2023年第十八届中国研究生电子设计竞赛东北赛区一等奖作品分享&#xff0c;参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力&#xff0c;更有丰富电子礼品等你来领&#xff01;&#xff0c;分享2023研电赛作品扩大影响力&#xff0c;更有丰富电子礼品等你来领&a…

飞凌OK3588 开发板 初体验~~~~

一、飞凌OK3588-C开发板 ​ 开发板采用核心板底板接插方式。板卡接口丰富、可应用于计算机、手机、个人移动互联网&#xff0c;数字多媒体设备&#xff0c;3588开发板如下图~&#xff0c;&#xff08;左边的小板是否很熟悉啊~~~&#xff09; ​ 二、开机试用 ​随机配件…

Modelsim测试覆盖率操作说明

1、打开Project窗口界面 2、在project界面下&#xff0c;选中所有需要测试覆盖率的.v文件&#xff08;不包括tb文件&#xff09;&#xff0c;鼠标点击右键&#xff0c;在Properties选项中选择Coverage选项&#xff0c;选择需要测试的覆盖率类型 3、重新编译所有的源文件&#x…

爱普生L125X_L325X系列打印机Wi-Fi配置方法(Smart Panel)

准备工作&#xff1a; 手机需要下载“Epson Smart Panel”APP&#xff1b; 配置无线&#xff08;Wi-Fi&#xff09;方法 说明&#xff1a;SSID名称&#xff08;Wi-Fi名&#xff09;不能包含中文字符,路由器需要选择2.4GHz频段; 1. 打开“Epson Smart Panel”软件&#xff0…

2021-06-15 51单片机c语言秒表的仿真ISIS7 professional

缘由51单片机c语言秒表的仿真ISIS7 professional_嵌入式-CSDN问答 #include "REG52.h" sbit K1 P1^5; sbit K2 P1^6; sbit K3 P1^7; sbit K4 P1^4; sbit LED1P1^0; sbit LED2P1^1; sbit LED3P1^2; sbit LED4P1^3; bit k0; unsigned char code SmZiFu[]{63,6,91,…

asp.net core 远程调试

大概说下过程&#xff1a; 1、站点发布使用Debug模式 2、拷贝到远程服务器&#xff0c;以及iis创建站点。 3、本地的VS2022的安装目录&#xff1a;C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE下找Remote Debugger 你的服务器是64位就拷贝x64的目…

比 N 小的最大质数

系列文章目录 进阶的卡莎C++_睡觉觉觉得的博客-CSDN博客数1的个数_睡觉觉觉得的博客-CSDN博客双精度浮点数的输入输出_睡觉觉觉得的博客-CSDN博客足球联赛积分_睡觉觉觉得的博客-CSDN博客大减价(一级)_睡觉觉觉得的博客-CSDN博客小写字母的判断_睡觉觉觉得的博客-CSDN博客纸币(…

【力扣-每日一题】714. 买卖股票的最佳时机含手续费

class Solution { public:int maxProfit(vector<int>& prices, int fee) {//[i][0]-不持有 [i][1]-持有int mprices.size();vector<vector<int>> dp(m,vector<int>(2));dp[0][0]0; //初始状态dp[0][1]-prices[0];for(int i1;i<m;i){dp[i]…

网络安全--安全认证、IPSEC技术

目录 1. 什么是数据认证&#xff0c;有什么作用&#xff0c;有哪些实现的技术手段&#xff1f; 2. 什么是身份认证&#xff0c;有什么作用&#xff0c;有哪些实现的技术手段&#xff1f; 3. 什么是VPN技术&#xff1f; 4. VPN技术有哪些分类&#xff1f; 5. IPSEC技术能够…

【Unity C#_菜单Window开发系列_Inspector Component UnityEditor开发】

GUI系列操作 1.枚举菜单实现文件1&#xff1a;Assets/MyScript/Test1.cs代码如下&#xff1a; 文件2&#xff1a;Assets/MyScript/Editor/Test1Editor.cs代码如下&#xff1a; 测试一下新建一个场景&#xff0c;新建一个Empty 节点&#xff0c;用来测试枚举组件将文件1&#xf…

行车记录仪检测不到内存卡的原因

最近修了两个行车记录仪&#xff0c;相同的问题&#xff0c;都是提示插入内存卡&#xff08;TF卡&#xff09;。网上搜索资料&#xff0c;并没有明确的指出问题原因&#xff0c;有的是直接更换卡槽。 于是自己分析&#xff0c;首先内存卡电路属于小电流&#xff0c;而且电压并不…

Python爬取诗词名句网中三国演义的乱码问题

一、乱码问题 为解决中文乱码问题&#xff0c;可使用chardet.detect()检测文本编码格式 详细&#xff1a; Python爬虫解决中文乱码_脑子不好真君的博客-CSDN博客 二、代码 #爬取三国演义 import requests import chardet from bs4 import BeautifulSoupurlhttps://www.shicim…

Linux安装 spark 教程详解

目录 一 准备安装包 二 安装 scala 三 修改配置文件 1&#xff09;修改 workers 文件 2&#xff09;修改 spark-env.sh文件 四 进入 spark 交互式平台 一 准备安装包 可以自行去 spark 官网下载想要的版本 这里准备了 spark3.1.2的网盘资源 链接: https://pan.baidu.com…

C/C++跨平台构建工具CMake-----在C++源码中读取CMakeLists.txt配置文件中的内容

文章目录 1.需求描述2.需求准备2.1 创建项目2.2 编辑CMakeLists.txt文件2.3 编写C文件2.4 编译构建项目 3.需求实现3.1 在CMakeLists.txt中输出日志信息3.2 增加配置生成C头文件3.3在C 源码中访问配置的值3.4 C文件中读取CMakeLists.txt中的字符串 总结 1.需求描述 当我们开发…

自动驾驶学习笔记(一)——Apollo平台

#Apollo开发者社区# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《2023星火培训【感知专项营】》免费课程—>传送门 文章目录 前言 Apollo框架 开发平台 总结 前…

【Acwing1010】拦截导弹(LIS+贪心)题解

题目描述 思路分析 本题有两问&#xff0c;第一问直接用lis的模板即可&#xff0c;下面重点看第二问 思路是贪心&#xff1a; 贪心流程&#xff1a; 从前往后扫描每一个数&#xff0c;对于每个数&#xff1a; 情况一&#xff1a;如果现有的子序列的结尾都小于当前的数&…

unity脚本_Input鼠标键盘 c#

获取鼠标坐标 检测鼠标输入 如果在运行游戏场景中点击一下鼠标左键 检测鼠标抬起 选中即可 检测键盘按下 当前屏幕分辨率 注意&#xff1a;获取的是显示器的分辨率 获取设备屏幕宽高 屏幕休眠模式 窗口/全屏模式 移动设备屏幕转向

CS5366最新设计电路|Typec转HDMI 8K带PD方案设计|带DSC视频压缩技术Typec扩展方案

CS5366支持4K24/25/30/50/60Hz刷新率的HDR&#xff0c;CS5366集成DSC decoded影像解压缩技术,可将DPRX 4Lanes等效宽推升至97.2Gbps或 DPRX 2Lanes等效带宽推升至48.6Gbps ,此功能可改善画面延迟、影像撕裂等问题,可让用户在观看电影或是电玩游戏等高效能影像时有更好的体验。…

分布式文件系统HDFS(林子雨慕课课程)

文章目录 3. 分布式文件系统HDFS3.1 分布式文件系统HDFS简介3.2 HDFS相关概念3.3 HDFS的体系结构3.4 HDFS的存储原理3.5 HDFS数据读写3.5.1 HDFS的读数据过程3.5.2 HDFS的写数据过程 3.6 HDFS编程实战 3. 分布式文件系统HDFS 3.1 分布式文件系统HDFS简介 HDFS就是解决海量数据…