【傅里叶梅林图像配准】用于图像配准的傅里叶梅林相位相关性的实现(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.rhkb.cn/news/150060.html

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

相关文章

创建型设计模式 原型模式 建造者模式 创建者模式对比

创建型设计模式 单例 工厂模式 看这一篇就够了_软工菜鸡的博客-CSDN博客 4.3 原型模式 4.3.1 概述 用一个已经创建的实例作为原型&#xff0c;通过复制该原型对象来创建一个和原型对象相同的新对象。 4.3.2 结构 原型模式包含如下角色&#xff1a; 抽象原型类&#xff1a;规定了…

数学建模预测模型MATLAB代码大合集及皮尔逊相关性分析(无需调试、开源)

已知2010-2020数据&#xff0c;预测2021-2060数据 一、Logistic预测人口 %%logistic预测2021-2060年结果 clear;clc; X[7869.34, 8022.99, 8119.81, 8192.44, 8281.09, 8315.11, 8381.47, 8423.50, 8446.19, 8469.09, 8477.26]; nlength(X)-1; for t1:nZ(t)(X(t1)-X(t))/X(t1…

黑豹程序员-架构师学习路线图-百科:CSS-网页三剑客

文章目录 1、为什么需要CSS2、发展历史3、什么是CSS4、什么是SASS、SCSS 1、为什么需要CSS 作为网页三剑客的第二&#xff0c;CSS为何需要它&#xff0c;非常简单HTML只能完成页面的展现&#xff0c;但其做出来的页面奇丑无比。 随着网络的普及&#xff0c;人们的要求更高&…

Linux系统编程系列之线程的信号处理

Linux系统编程系列&#xff08;16篇管饱&#xff0c;吃货都投降了&#xff01;&#xff09; 1、Linux系统编程系列之进程基础 2、Linux系统编程系列之进程间通信(IPC)-信号 3、Linux系统编程系列之进程间通信(IPC)-管道 4、Linux系统编程系列之进程间通信-IPC对象 5、Linux系统…

Stable Signature - 为开源生成式AI 创建的图像 添加水印的新方法

文章目录 关于 Stable Signature 关于 Stable Signature 一种为开源生成式AI创建的图像添加水印的新方法 Stable Signature: A new method for watermarking images created by open source generative AI https://ai.meta.com/blog/stable-signature-watermarking-generativ…

洁净室悬浮粒子:手持式、在线式、便携式粒子计数器如何选择呢?

粒子计数器一般分为手持式、便携式、在线式。每种计数器都有不同的适用场景。 您是否正在考虑为您的洁净室配备新的粒子计数器&#xff1f;有许多选项可能更适合您。 手持式粒子计数器 手持式粒子计数器是一种小型粒子计数器&#xff0c;易于移动&#xff0c;可在洁净室中进行…

VMware Horizon 8 运维系列(二)win10设置共享桌面图标

前言 在win10模板上用管理员帐号安装好软件之后&#xff0c;有的软件快捷图标不会出现在桌面上&#xff0c;有的即使有在桌面上出现&#xff0c;但是当发布云桌面池后&#xff0c;客户端登录的都是不同的域用户&#xff0c;当不同的用户登录系统的时候&#xff0c;很多软件快捷…

因为计算机中找不到mfc140.dll无法启动修复步骤分享

mfc140.dll是Microsoft Foundation Class Library&#xff08;微软基础类库&#xff09;的一个组件&#xff0c;它是许多Windows应用程序&#xff08;尤其是使用MFC编写的程序&#xff09;所必需的动态链接库。MFC&#xff08;Microsoft Foundation Classes&#xff09;是一个用…

Text ‘10/03/2023 14:25:49‘ could not be parsed at index 0

说来也巧, 九月30号发版, 国庆节当天生产就炸了 这种情况很明显, Text ‘10/03/2023 14:25:49’ could not be parsed at index 0 这个日期格式有问题, 但是没有初始化日期格式, fastjson自己猜这个格式是什么 第一个是MM/dd 但是,如果两个格式一样就会出现问题,现在他分不出来…

第二证券:A股反弹已至?9月最牛金股涨超41%

进入10月&#xff0c;作为券商月度战略精华的新一期金股也连续宣布。 从各券商关于十月份的大势研判来看&#xff0c;一些券商达观地认为反弹行情正在打开&#xff0c;也有一些券商认为仍是轰动市。具体配备上&#xff0c;AI、科创相关的标的仍然遭到喜欢&#xff0c;一起不少…

tcpdump(一)基础理论知识

一 抓包分析技术初探 说明&#xff1a; 本篇章跟tcp/ip的知识没有关系,只是讲解tcpdump工具背景补充&#xff1a; 抓包是做报文分析的第一步敬畏心&#xff1a; 隔行如隔山,不要想当然 ① 背景 ② 抓包技术名词 1、捋顺这些技术的来龙去脉甚至八卦;2、这样我们在后续课程…

RabbitMQ集群搭建详细介绍以及解决搭建过程中的各种问题 + 配置镜像队列——实操型

RabbitMQ集群搭建详细介绍以及解决搭建过程中的各种问题 配置镜像队列——实操型 1. 准备工作1.1 安装RabbitMQ1.2 简单部署搭建设计1.3 参考官网 2. RabbitMQ 形成集群的方法3. 搭建RabbitMQ集群3.1 部署架构3.2 rabbitmq集群基础知识3.2.1 关于节点名称&#xff08;标识符&a…

磁盘io使用率高问题排查

Linux系统出现了性能问题&#xff0c;一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。 1.小文件读写的磁盘性能瓶颈是寻址&#xff08;随机读写性能更差&#xff09;评估标准:TPS 2.大文件读写的磁盘性能瓶颈…

LangChain 摘要 和问答示例

在Azure上的OpenAI端点 注意 OpenAI key 可以用微软 用例【1. 嵌入 &#xff0c;2. 问答】 1. import os import openai from langchain.embeddings import OpenAIEmbeddings os.environ["OPENAI_API_KEY"] "****" # Azure 的密钥 os.environ["OP…

除静电离子风棒的工作原理及应用

除静电离子风棒是一种常见的除静电设备&#xff0c;它的工作原理是通过产生大量的负离子来中和物体表面的静电电荷&#xff0c;从而达到除静电的目的。 静电离子风棒内部装有一个电离器&#xff0c;电离器会将空气中的氧气分子或水分子电离成正、负离子。这些带电的离子在空气…

MATLAB学习

前言 MATLAB是“MATrix LABoratory”的缩写&#xff0c;它是由美国Mathworks公司于1984年推出的一种科学计算软件。 语言及其特点 1.功能强大 (1)运算功能强大。MATLAB是以复数矩阵为基本编程单元的程序设计语言其强大的运算功能使其成为世界顶尖的数学应用软件之一。 (2)功能…

【Overload游戏引擎分析】编辑器对象鼠标拾取原理

Overload的场景视图区有拾取鼠标功能&#xff0c;单击拾取物体后会显示在Inspector面板中。本文来分析鼠标拾取这个功能背后的原理。 一、OpenGL的FrameBuffer 实现鼠标拾取常用的方式有两种&#xff1a;渲染id到纹理、光线投射求交。Overload使用的是渲染id到纹理&#xff0c…

Elasticsearch:ES|QL 查询语言简介

警告&#xff1a;此功能处于技术预览阶段&#xff0c;可能会在未来版本中更改或删除。 Elastic 将尽最大努力解决任何问题&#xff0c;但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。在目前的 Elastic Stack 8.10 中此功能还没有提供。 Elasticsearch 查询语言 (ES|…

聚焦酷开科技智能大屏OS Coolita,打造智能推荐服务能力全景

2023年9月18日—22日&#xff0c;科学和教育计算机协会The Association for Computing Machinery&#xff08;ACM&#xff09;在新加坡举办了为期5天的ACM RecSys 2023&#xff0c;云集了各大品牌的科技巨头技术人员&#xff0c;还有中外各大高等学府学者参与其中&#xff0c;共…

ROS机械臂开发-开发环境搭建【一】

目录 前言环境配置docker搭建Ubuntu环境安装ROS 基础ROS文件系统 bugs 前言 想系统学习ROS&#xff0c;做一些机器人开发。因为有些基础了&#xff0c;这里随便写写记录一下。 环境配置 docker搭建Ubuntu环境 Dockerfile # 基础镜像 FROM ubuntu:18.04 # 设置变量 ENV ETC…