傅里叶变换及其在数字图像处理中的应用
王家硕 学号:1252015
一、 Fourier变换
1. 一维连续傅里叶变换
设 f (x)为x的实变函数,如果f (x)满足下面的狄里赫莱条件:
(1)具有有限个间隔点。
(2)具有有限个极点。
(3)绝对可积。
则 f (x)的傅里叶变换(Fourier Transformation,FT)定义为:
Fourier正变换:;
Fourier逆变换:,
式中:,ω 为频域变量。
f (x)与F(w)构成傅里叶变换对,可以证明傅里叶变换对总是存在的。由于f (x)为实函数,则它的傅里叶变换F(w)通常是复函数,于是F(w)可写成
F(w) =R(w) +jI (w) (1)
式中:R(w)和I (w)分别是F(w)的实部和虚部。公式1可表示为指数形式:
matlab傅里叶变换的幅度谱和相位谱
式中:
F(w) 为f (x)的傅里叶幅度谱,f(w)为f (x)的相位谱。
2. 二维连续傅里叶变换
如果二维函数f (x, y)是连续可积的,即,且F(u, v)是可积的,则二维连续傅里叶变换对可表示为:
对于图像 f (x, y),F(u, v)是它的频谱。变量u 是对应于x 轴的空间频率,变量v 是对应于y轴的空间频率,与在一维的情况类似,可定义二维傅里叶变换的幅度谱和相位谱为:
3. 一维离散傅里叶变换
对一个连续函数f (x)等间隔采样可得到一个离散序列。设共采样N个,则这个离散序列
可表示为{ f (0), f (1), f (2), , f (N -1)}。则其离散傅里叶变换F(u)为:
离散傅里叶反变换(IDFT)为:
式中:x =0, 1, 2, , N -1。
令,则上述公式变成:
4. 二维离散傅里叶变换
二维离散傅里叶变换:
二、 傅里叶变换在图像处理中的应用
傅立叶变换在图像处理中有非常重要的作用,被广泛应用于图像增强与图像去噪、图像分割之边缘检测、图像特征提取(形状、纹理)、图像压缩等方面。
1. 基于傅里叶变换的图像增强
在图像处理中,图像高频分量:图像突变部分;在某些情况下指图像边缘信息,某些情况下指噪声,更多是两者的混合;低频分量:图像变化平缓的部分,也就是图像轮廓信息。高通滤波器:让图像使低频分量抑制,高频分量通过。低通滤波器:与高通相反,让图像使高频分量抑制,低频分量通过。
图像频域滤波增强技术是在频率域空间对图像进行滤波,因此需要将图像从空间域通过傅里叶变换频率域,具体操作如下:
假定原图像f(x,y),经傅里叶变换为F(u,v),频率域增强就是选择合适的滤波器函数H(u,v)对F(u,v)的频谱成分进行调整,然后经逆傅里叶变换得到增强的图像g(x,y)。该过程可以通过下面的流程描述:
(1)对原始图像f(x,y)进行傅里叶变换得到F(u,v);
(2)将F(u,v)与传递函数H(u,v)进行卷积运算得到g(u,v);
(3)将g(u,v)进行傅里叶逆变换得到增强图像g(x,y)。
频域滤波的核心在于如何确定传递函数,即H(u,v)。常用的频率域低通滤波器H(u,v)有4种。理想低通滤波器、巴特沃斯(Butterworth)低通滤波器、指数低通滤波器、梯形低通滤波器。
2. 图像增强MatLab实现
clear all;
I1=imread('cameraman.tif'); %转载图像
fftI1=fft2(I1); %二维离散傅立叶变换
sfftI1=fftshift(fftI1); %直流分量移到频谱中心
RR1=real(sfftI1); %取傅立叶变换的实部
II1=imag(sfftI1); %取傅立叶变换的虚部
A1=sqrt(RR1.^2+II1.^2); %计算频谱幅值
A1=(A1-min(min(A1)))/(max(max(A1))-min(min(A1)))*225;%归一化
subplot(3,2,2);imshow(A1); %显示原图像的频谱
figure,imshow(I1,[]); %把图像显示出来
% I1=imnoise(I1,'salt & pepper');
% figure,imshow(I1);
snoise=0.1*randn(size(I1));
I1=imadd(I1,im2uint8(snoise)); % 受随机噪声干扰
figure,imshow(I1); %显示噪声图像
f=double(I1); %图像存储类型转换
g=fft2(f); %傅立叶变换
g=fftshift(g); %转换数据矩阵
[N1,N2]=size(g); %测量图像尺寸参数
n=2;
d0=50;
n1=fix(N1/2);
n2=fix(N2/2);
for i=1:N1
for j=1:N2
d=sqrt((i-n1)^+(j-n2)^2)
h=1/(1+0.414*(d/d0)^(2*n)); %计算Butterworth低通转换函数
result(i,j)=h*g(i,j);
end
end
result=ifftshift(result);
X2=ifft2(result);
X3=uint8(real(X2));
figure,imshow(X3) % 显示频域增强后的图像
3. 运行结果
原始图像 原始图像频谱
加入噪声图像 增强图像
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论