傅里叶变换在图像相关性与模板匹配中的应用及MATLAB实现


👨‍🎓 博主简介:博士研究生

🔬 超级学长:超级学长@实验室(提供各种程序开发、实验复现与论文指导)

📧 个人邮箱:easy_optics@126.com

💬 个人微信:easy_optics

🐧 个人企鹅:754357517



摘要

本博文介绍了傅里叶变换可用于分析图像相关性并被称为模板匹配,还提到二维傅里叶逆变换在 MATLAB 中的应用;描述了通过傅里叶变换和快速卷积运算对包含字母 “a” 的图像与 text.png 图像进行相关运算以定位字母 “a” 的方法。给出了相关Matlab源程序。

一、二维离散傅里叶变换定义

二维离散傅里叶变换的定义为:

Y p + 1 , q + 1 = ∑ j = 0 m − 1 ∑ k = 0 n − 1 ω m j p ω n k q X j + 1 , k + 1 ω m = e − 2 π i m ω n = e − 2 π i n \begin{aligned}&Y_{p+1,q+1}=\sum_{j=0}^{m-1}\sum_{k=0}^{n-1}\omega_m^{jp}\omega_n^{kq}X_{j+1,k+1}\\&\omega_{m}=\mathrm{e}^{-\frac{2\pi\mathrm{i}}m}\\&\omega_{n}=\mathrm{e}^{-\frac{2\pi\mathrm{i}}n}\end{aligned} Yp+1,q+1=j=0m1k=0n1ωmjpωnkqXj+1,k+1ωm=em2πiωn=en2πi

对于二维离散傅里叶变换,MATLAB 提供了 fft2 函数实现。函数的调用格式为:

Y = f f f 2 ( X ) Y= fff2(X) Y=fff2(X)

X为二维信号; Y为返回与X同维的数组。

二、实例演示

2.1 图像fft示例一

在这里插入图片描述

图1 图像与其傅里叶变换的频谱信息

上述示例的Matlab代码如下所示:

P = peaks(20);
X = repmat(P,[5 10]);
subplot(1,2,1);imagesc(X)
title('原始图像');
Y = fft2(X);
subplot(1,2,2);imagesc(abs(fftshift(Y)))
title('频域');

2.2 图像相关性分析

傅里叶变换还能够用来分析两幅图像的相关性,相关性可以用来确定一幅图像的特征,在这个意义下,相关性通常被称为模板匹配。接着介绍一个二维傅里叶逆变换在MATLAB中的应用

将包含字母“a”的图像与text.png图像进行相关运算,也就是首先将字母a和图像text.png进行傅里叶变换,然后快速卷积计算字母a和图像text.png的卷积(其结果如图2(c)所示),提取卷积运算的峰值,如图 2(d)所示的白色亮点,即得到在图像 text.png 中对字母 “a” 定位的结果。

在这里插入图片描述

图2 图像特征识别结果

Matlab源程序如下所示:

bw=imread('text.png');
%从图像中抽取字母a的图像
a=bw(32:45,88:98);
subplot(2,2,1);imshow(bw);
xlabel('(a)原始图像');
subplot(2,2,2);imshow(a);
xlabel('(b)显示“a”图');
C=real(ifft2(fft2(bw).*fft2(rot90(a,2),256,256)));   % 卷积
subplot(2,2,3);imshow(C,[]);
xlabel('(c)定位图');
%选择一个略小于C中最大值的值作为阈值
max(C(:));
thresh=60;
subplot(2,2,4);imshow(C>thresh);  %显示像素值超过阈值的点
xlabel('(d)提取“a”图');

三、结论


博主简介:擅长智能优化算法信号处理图像处理机器视觉深度学习神经网络等领域Matlab仿真以及实验数据分析等,matlab代码问题、商业合作、课题选题与科研指导等均可私信交流


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超级学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值