图像的傅里叶变换

合集下载

图像处理之傅里叶变换

图像处理之傅里叶变换

图像处理之傅⾥叶变换图像处理之傅⾥叶变换⼀、傅⾥叶变换傅⾥叶变换的作⽤:⾼频:变化剧烈的灰度分量,例如边界低频:变化缓慢的灰度分量,例如⼀⽚⼤海滤波:低通滤波器:只保留低频,会使得图像模糊⾼通滤波器:只保留⾼频,会使得图像细节增强OpenCV:opencv中主要就是cv2.dft()和cv2.idft(),输⼊图像需要先转换成np.float32 格式。

得到的结果中频率为0的部分会在左上⾓,通常要转换到中⼼位置,可以通过shift变换来实现。

cv2.dft()返回的结果是双通道的(实部,虚部),通常还需要转换成图像格式才能展⽰(0,255)。

import numpy as npimport cv2from matplotlib import pyplot as pltimg = cv2.imread('lena.jpg',0)img_float32 = np.float32(img)dft = cv2.dft(img_float32, flags = cv2.DFT_COMPLEX_OUTPUT)dft_shift = np.fft.fftshift(dft)# 得到灰度图能表⽰的形式magnitude_spectrum = 20*np.log(cv2.magnitude(dft_shift[:,:,0],dft_shift[:,:,1]))plt.subplot(121),plt.imshow(img, cmap = 'gray')plt.title('Input Image'), plt.xticks([]), plt.yticks([])plt.subplot(122),plt.imshow(magnitude_spectrum, cmap = 'gray')plt.title('Magnitude Spectrum'), plt.xticks([]), plt.yticks([])plt.show()import numpy as npimport cv2from matplotlib import pyplot as pltimg = cv2.imread('lena.jpg',0)img_float32 = np.float32(img)dft = cv2.dft(img_float32, flags = cv2.DFT_COMPLEX_OUTPUT) #时域转换到频域dft_shift = np.fft.fftshift(dft) #将低频部分拉到中⼼处rows, cols = img.shapecrow, ccol = int(rows/2) , int(cols/2) #确定掩膜的中⼼位置坐标# 低通滤波mask = np.zeros((rows, cols, 2), np.uint8)mask[crow-30:crow+30, ccol-30:ccol+30] = 1# IDFTfshift = dft_shift*mask #去掉⾼频部分,只显⽰低频部分f_ishift = np.fft.ifftshift(fshift) #将低频部分从中⼼点处还原img_back = cv2.idft(f_ishift) #从频域逆变换到时域img_back = cv2.magnitude(img_back[:,:,0],img_back[:,:,1]) #该函数通过实部和虚部⽤来计算⼆维⽮量的幅值plt.subplot(121),plt.imshow(img, cmap = 'gray')plt.title('Input Image'), plt.xticks([]), plt.yticks([])plt.subplot(122),plt.imshow(img_back, cmap = 'gray')plt.title('Result'), plt.xticks([]), plt.yticks([])plt.show()img = cv2.imread('lena.jpg',0)img_float32 = np.float32(img)dft = cv2.dft(img_float32, flags = cv2.DFT_COMPLEX_OUTPUT) dft_shift = np.fft.fftshift(dft)rows, cols = img.shapecrow, ccol = int(rows/2) , int(cols/2) # 中⼼位置# ⾼通滤波mask = np.ones((rows, cols, 2), np.uint8)mask[crow-30:crow+30, ccol-30:ccol+30] = 0# IDFTfshift = dft_shift*maskf_ishift = np.fft.ifftshift(fshift)img_back = cv2.idft(f_ishift)img_back = cv2.magnitude(img_back[:,:,0],img_back[:,:,1]) plt.subplot(121),plt.imshow(img, cmap = 'gray')plt.title('Input Image'), plt.xticks([]), plt.yticks([])plt.subplot(122),plt.imshow(img_back, cmap = 'gray')plt.title('Result'), plt.xticks([]), plt.yticks([])plt.show()。

图像处理中的傅里叶变换

图像处理中的傅里叶变换
性质
FFT是DFT的一种高效实现,它广 泛应用于信号处理、图像处理等 领域。
频域和时域的关系
频域
频域是描述信号频率特性的区域,通过傅里叶变换可以将 时域信号转换为频域信号。在频域中,信号的频率成分可 以被分析和处理。
时域
时域是描述信号时间变化的区域,即信号随时间的变化情 况。在时域中,信号的幅度和时间信息可以被分析和处理。
其中n和k都是整数。
计算公式
X(k) = ∑_{n=0}^{N-1} x(n) * W_N^k * n,其中W_N=exp(-
2πi/N)是N次单位根。
性质
DFT是可逆的,即可以通过DFT 的反变换将频域信号转换回时域
信号。
快速傅里叶变换(FFT)
定义
快速傅里叶变换(FFT)是一种高 效计算DFT的算法,它可以将DFT 的计算复杂度从O(N^2)降低到 O(NlogN)。
通过傅里叶变换,我们可以方便地实现图像的滤波操作,去除噪声或突出某些特 征。同时,傅里叶变换还可以用于图像压缩,通过去除高频成分来减小图像数据 量。此外,傅里叶变换还可以用于图像增强和图像识别,提高图像质量和识别准 确率。
PART 02
傅里叶变换的基本原理
离散傅里叶变换(DFT)
定义
离散傅里叶变换(DFT)是一种 将时域信号转换为频域信号的方 法。它将一个有限长度的离散信 号x(n)转换为一个复数序列X(k),
傅里叶变换的物理意义是将图像中的每个像素点的灰度值表 示为一系列正弦波和余弦波的叠加。这些正弦波和余弦波的 频率和幅度可以通过傅里叶变换得到。
通过傅里叶变换,我们可以将图像中的边缘、纹理等高频成 分和背景、平滑区域等低频成分分离出来,从而更好地理解 和处理图像。

傅里叶变换

傅里叶变换

例2:用DCT变换作图象压缩的例子,求经压缩解压后的图 象(详细程序参见书),结果如图4.14所示。
(a)原始图像
(b)压缩解压后的图像
图:原始图像及其经压缩,解压缩后的图像
3.3 二维离散沃尔什-哈达玛变换(DHT)
前面的变换都是余弦型变换,基底函数选用的都是余弦型。 图像处理中还有许多变换常常选用方波信号或者它的变形。
N 1
C(u)C(v)F (u, v)
v0
cos
M
u(x
12)
cos
N
v(
y
12)
(3.20)
【例3.3】应用MATLAB实现图像的DCT变换。
解:MATLAB程序如下:
A=imread(‘cameraman.tif');
%读入图像
I=dct2(A);
%对图像作DCT变换
subplot(1,2,1),imshow(A); %显示原图像
(a)原始图像 (b) 中心化前的频谱图 (c) 中心化后的频谱图 图3.5 图像频谱的中心化
2.可分性
离散傅里叶变换可以用可分离的形式表示
F(u,v)
1
M 1
e j 2ux / M
1 N 1 f (x, y)e j2vy / N
M x0
N y0
1
M 1
F (x, v)e j2ux / M
uX vY
二维信号的图形表示 图3.1 二维信号f (x, y)
二维信号的频谱图
(a)信号的频谱图
(b)图(a)的灰度图
图3.2 信号的频谱图
二、离散傅里叶变换(Discrete Fourier Transform)
同连续函数的傅里叶变换一样,离散函数的傅里 叶变换也可推广到二维的情形,其二维离散傅里叶变 换定义为:

图像处理与傅里叶变换原理与运用

图像处理与傅里叶变换原理与运用

图像处理与傅‎里叶变换1背景傅里叶变换是‎一个非常复杂‎的理论,我们在图像处‎理中集中关注‎于其傅里叶离‎散变换离散傅‎立叶变换(Discre ‎t e Fourie ‎r Transf ‎o rm) 。

1.1离散傅立叶‎变换图象是由灰度‎(R GB )组成的二维离‎散数据矩阵,则对它进行傅‎立叶变换是离‎散的傅立叶变‎换。

对图像数据f ‎(x,y)(x=0,1,… ,M-1; y=0,1,… ,N-1)。

则其离散傅立‎叶变换定义可‎表示为:式中,u=0,1,…, M-1;v= 0,1,…, N-1其逆变换为式中,x=0,1,…, M-1;y= 0,1,…, N-1在图象处理中‎,一般总是选择‎方形数据,即M=N影像f(x,y)的振幅谱或傅‎立叶频谱: 相位谱: 能量谱(功率谱) )1(2exp ),(1),(1010∑∑-=-=⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛+-=M x N y N vy M ux i y x f MN v u F π)2(2exp ),(1),(1010∑∑-=-=⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛+=M u N v N vy M ux i v u F MN y x f π),(),(),(22v u I v u R v u F +=[]),(/),(),(v u R v u I arctg v u =ϕ),(),(),(),(222v u I v u R v u F v u E +==1.2快速傅里叶‎变化可分离性的优‎点是二维的傅‎立叶变换或逆‎变换由两个连‎续的一维傅立‎叶变换变换来‎实现,对于一个影像‎f (x,y),可以先沿着其‎每一列求一维‎傅立叶变换,再对其每一行‎再求一维变换‎正变化逆变换 由于二维的傅‎立叶变换具有‎可分离性,故只讨论一维‎快速傅立叶变‎换。

正变换逆变换由于计算机进‎行运算的时间‎主要取决于所‎用的乘法的次‎数。

按照上式进行‎一维离散由空‎间域向频率域‎傅立叶变换时‎,对于N 个F ∑∑∑∑-=-=-=-=⎥⎦⎤⎢⎣⎡⨯⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡+=10101010)(2exp ),(1)(2exp ),(1)(2exp ),(1),(N v N u N u N v N vy i v u F N N ux i v u F N N vy ux i v u F NN y x f πππ∑-=⎥⎦⎤⎢⎣⎡-=102exp )(1)(N x N ux i x f N u F π∑∑∑∑-=-=-=-=⎥⎦⎤⎢⎣⎡-⨯⎥⎦⎤⎢⎣⎡-=⎥⎦⎤⎢⎣⎡+-=10101010)(2exp ),(1)(2exp ),(1)(2exp ),(1),(N y N x N x N y N vy i y x f N N ux i y x f NN vy ux i y x f NN v u F πππ∑-=⎥⎦⎤⎢⎣⎡=102exp )(1)(N u N ux i u F N x f π(u)值,中的每一个都‎要进行N 次运‎算,运算时间与N ‎2成正比。

图像的傅里叶变换

图像的傅里叶变换

图像的傅里叶变换
图像的傅里叶变换是将图像的像素用时间或频率的形式表示的一种变换方式。

一般来说,图像的每个像素点都可以用其周围的邻居来描述,而傅里叶变换可以对图像中所有的邻居进行变换,有效地减少图像的深度和宽度,使图像更轻巧。

傅里叶变换的一个重要用途便是图像分析和处理,它可以将复杂的信息减缩到更小的空间中,从而使图像变得更容易理解。

比如,使用傅里叶变换可以有效地抽取图像中最重要的特征,例如颜色、对比度、形状等。

此外,傅里叶变换还可以用于图像压缩,通过傅里叶变换可以把复杂的信息转换为高频信号和低频信号,通过减少低频信号可以压缩图像的体积,但这样做不会影响图像的整体清晰度,而是减少了细节的某些程度上。

总而言之,傅里叶变换是一种对图像进行分析和处理的非常有效的方法,可以有效地提取图像中最重要的特征,可以大大减少图像的深度和宽度,并且可以用于图像压缩以及图像处理等任务中,从而大大改善图像的处理效果。

图像傅里叶变换

图像傅里叶变换
大小为M×N的两个函数f(x,y)和h(x,y)的离散 卷积
fx, yhx, y 1 M1N1 fm,nhxm, yn MN m0 n0
卷积定理
fx,yhx,yFu,vHu,v
fx,yhx,yFu,vHu,v
A
51
傅里叶变换
9. 相关性理论
大小为M×N的两个函数f(x,y)和h(x,y)的相关
性定义为
A
56
快速傅里叶变换(FFT)
为什么需要快速傅里叶变换?
F u 1 M1 f x ej2ux/M M x0
u 0,1,2,...,M 1
✓ 对u的M个值中的每一个都需进行M次复数乘法(将f(x)
与ej2ux/M相乘)和M-1次加法,即复数乘法和加法的次
数都正比于M2
✓ 快速傅里叶变换(FFT)则只需要Mlog2M次运算
为什么要在频率域研究图像增强
✓ 可以利用频率成分和图像外表之间的对应关系。一 些在空间域表述困难的增强任务,在频率域中变得非 常普通
✓ 滤波在频率域更为直观,它可以解释空间域滤波的 某些性质
✓ 可以在频率域指定滤波器,做反变换,然后在空间 域使用结果滤波器作为空间域滤波器的指导
✓一旦通过频率域试验选择了空间滤波,通常实施都在
A
46
一幅二维图像的傅里叶频谱 中心化的傅里叶频谱
傅里叶变换
6. 分离性
F u,v
1 M 1 j2ux/M e
1 N1
f x, y e j2vy/ N
M
x 0
N y 0
1 M
M 1 j2ux/M
x 0e
F x,v
F(x,v)是沿着f(x,y)的一行所进行的傅里叶变 换。当x=0,1,…,M-1,沿着f(x,y)的所有行计 算傅里叶变换。

图像处理与傅里叶变换原理与运用

图像处理与傅里叶变换原理与运用

图像处理与傅里叶变换1背景傅里叶变换是一个非常复杂的理论,我们在图像处理中集中关注于其傅里叶离散变换离散傅立叶变换(Discrete Fourier Transform) 。

1.1离散傅立叶变换图象是由灰度(RGB )组成的二维离散数据矩阵,则对它进行傅立叶变换是离散的傅立叶变换。

对图像数据f(x,y)(x=0,1,… ,M-1; y=0,1,… ,N-1)。

则其离散傅立叶变换定义可表示为:式中,u=0,1,…, M-1;v= 0,1,…, N-1 其逆变换为式中,x=0,1,…, M-1;y= 0,1,…, N-1在图象处理中,一般总是选择方形数据,即M=N影像f(x,y)的振幅谱或傅立叶频谱: 相位谱:能量谱(功率谱) )1(2exp ),(1),(101∑∑-=-=⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛+-=M x N y N vy M uxi y x f MNv u F π)2(2exp ),(1),(101∑∑-=-=⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛+=M u N v N vy M uxi v u F MNy x f π),(),(),(22v u I v u R v u F +=[]),(/),(),(v u R v u I arctg v u =ϕ),(),(),(),(222v u I v u R v u F v u E +==1.2快速傅里叶变化可分离性的优点是二维的傅立叶变换或逆变换由两个连续的一维傅立叶变换变换来实现,对于一个影像f(x,y),可以先沿着其每一列求一维傅立叶变换,再对其每一行再求一维变换正变化逆变换由于二维的傅立叶变换具有可分离性,故只讨论一维快速傅立叶变换。

正变换 逆变换由于计算机进行运算的时间主要取决于所用的乘法的次数。

按照上式进行一维离散由空间域向频率域傅立叶变换时,对于N 个F∑∑∑∑-=-=-=-=⎥⎦⎤⎢⎣⎡⨯⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡+=110101)(2exp ),(1)(2exp ),(1)(2exp ),(1),(N v N u N u N v N vy i v u F NN ux i v u F N N vy ux i v u F NNy x f πππ∑-=⎥⎦⎤⎢⎣⎡-=12exp )(1)(N x N ux i x f Nu F π∑∑∑∑-=-=-=-=⎥⎦⎤⎢⎣⎡-⨯⎥⎦⎤⎢⎣⎡-=⎥⎦⎤⎢⎣⎡+-=11101)(2exp ),(1)(2exp ),(1)(2exp ),(1),(N y N x N x N y N vy i y x f NN ux i y x f NN vy ux i y x f NNv u F πππ∑-=⎥⎦⎤⎢⎣⎡=12exp )(1)(N u N ux i u F Nx f π(u)值,中的每一个都要进行N 次运算,运算时间与N 2成正比。

傅里叶变换概念

傅里叶变换概念

傅里叶变换概念傅里叶变换(Fourier Transform)是一种数学技术,用于将一个函数从时域(时间域)表示转换为频域表示。

傅里叶变换广泛应用于信号处理、图像处理、通信系统等领域,具有重要的理论和实际意义。

傅里叶变换的概念可以通过将一个信号分解成多个正弦波和余弦波的叠加来解释。

任何复杂的周期信号都可以被视为多个不同频率的正弦波的叠加。

傅里叶变换就是将这个信号从时域分解成它不同频率的正弦波和余弦波分量的过程。

傅里叶变换的数学表示如下:F(ω)= ∫ f(t) * e^(-jωt) dt其中,F(ω)表示频域函数,f(t)表示时域函数,e^(-jωt)是欧拉公式中的复指数函数,ω是变量频率。

根据傅里叶变换的定义,我们可以将一个复杂的时域信号分解成多个频率分量,并且这些分量对应于频域函数F(ω)的不同频率部分。

傅里叶变换提供了一种量化信号在频域上的能力,揭示了信号的频谱特征,可以从中提取出信号中的频率、幅度、相位等信息。

傅里叶变换的应用非常广泛。

在信号处理领域,傅里叶变换常用于滤波、降噪、频谱分析等任务。

例如,在音频处理中,可以使用傅里叶变换将声音信号从时域转换到频域,通过分析频谱可以得知声音中包含的不同音调的频率和强度。

在图像处理领域,傅里叶变换可以提供图像的频域信息,用于图像增强、去噪、压缩等任务。

通过傅里叶变换,我们可以将一个图像分解成不同空间频率上的分量,从而更好地理解图像的特征和结构。

在通信系统中,傅里叶变换常用于信号调制、解调、信道估计等任务,以提高通信信号的传输质量和效率。

此外,傅里叶变换还有着重要的数学和物理意义。

傅里叶变换将一个函数从时域转换到频域,可视化了函数在不同频率上的分布情况。

通过傅里叶变换,我们可以将一个函数中的周期性模式展示出来,并且可以通过重建时域函数来还原原始信号。

为了实现傅里叶变换,通常使用快速傅里叶变换(FFT)算法。

FFT算法通过利用对称性质和迭代计算来大大加快傅里叶变换的计算速度,使得实时处理和大规模数据分析成为可能。

第5章 图像变换-傅里叶变换

第5章 图像变换-傅里叶变换
3周期性和共轭对程称性周期性可表示为如果fuv是fxy的傅立叶变换则fuv是fxy的傅立叶变换的共轭函数共轭对称性可表示为4旋转不变性如果引入极坐标sincossincos角度后相应的傅立叶变换fuv在频域中也旋转同一5分配性线性和比例性缩放傅立叶变换的分配性表明傅立叶变换和反变换对于加法可以分配而对乘法则不行即傅立叶变换的比例性表明对于二个标量a和b有在空间比例尺度的展宽相应于频域中比例尺度的压缩其幅值也减少为原来的6平均值性质定义二维离散函数的平均值为若求二维离散信号fxy的平均值只需算出相应的傅立叶变换fuv在原点的值f007卷积定理卷积定理和相关定理都是研究两个函数的傅立叶变换之间的关系这构成了空间域和频域之间的基本关系对于两个二维连续函数fxy和gxy的卷积定义为8相关定理对于二维连续函数fxy和gxy的相关定义为5454直接进行一个nn的2d傅里叶变换需要n4次复数乘法运算和n2n2快速傅里叶变换fft
a 图
a 图的相位谱重构图
再将相位谱设为常数(这里设 为1),然后和图像原来的幅值谱 结合,进行傅里叶反变换
a 图
b 图的幅值谱重构图
由此更加说明相 位谱较幅值谱更能 影响图像的轮廓。
傅立叶变换的性质
(1)可分性
1 F u, v 2 N 1 2 N 1 N
N 1 N 1 x 0 y 0
f ( x, y )
φ
g ( x, y)
g ( x, y) [ f ( x, y)]
变换后的图象,大部分能量都分布
于低频谱段,这对以后图象的压缩、 传输都比较有利。使得运算次数减少, 节省时间。
卷积
考虑一维的情况,假设f(x)(x=0,1…,A-1)以及 g(x)(x=0,1,…,C-1)是两个有限离散函数,其线性 卷积为

傅里叶变换及其在图像处理中的应用

傅里叶变换及其在图像处理中的应用

傅里叶变换及其在数字图像处理中的应用王家硕 学号:1252015一、 Fourier 变换1. 一维连续傅里叶变换设 f (x)为x 的实变函数,如果f (x)满足下面的狄里赫莱条件: (1)具有有限个间隔点。

(2)具有有限个极点。

(3)绝对可积。

则 f (x )的傅里叶变换(Fourier Transformation ,FT )定义为: Fourier 正变换:dt e t f t f f F t j ⎰+∞∞--==ωω)()]([)(;Fourier 逆变换:ωωπωd e f t F f t f t j ⎰∞+∞---==)(21)]([)(1,式中:1-=j ,ω 为频域变量。

f (x )与F (w )构成傅里叶变换对,可以证明傅里叶变换对总是存在的。

由于f (x )为实函数,则它的傅里叶变换F (w )通常是复函数,于是F (w )可写成F (w ) = R (w ) + j I (w ) (1)式中:R (w )和I (w )分别是F (w )的实部和虚部。

公式1可表示为指数形式:式中:F (w ) 为f (x )的傅里叶幅度谱,f (w )为f (x )的相位谱。

2. 二维连续傅里叶变换如果二维函数f (x , y )是连续可积的,即∞<⎰⎰+∞∞-dxdy y x f |),(,且F (u , v )是可积的,则二维连续傅里叶变换对可表示为:dt e y x f v u F t j ⎰⎰+∞∞--+∞∞-=ω),(),(dt e v u F y x F t j ⎰⎰∞+∞-∞+∞-=ω),(),(对于图像 f (x, y),F(u, v)是它的频谱。

变量u 是对应于x 轴的空间频率,变量v 是对应于y 轴的空间频率,与在一维的情况类似,可定义二维傅里叶变换的幅度谱和相位谱为:3.一维离散傅里叶变换对一个连续函数f (x)等间隔采样可得到一个离散序列。

设共采样N个,则这个离散序列可表示为{ f (0), f (1), f (2), , f (N -1)}。

(精心整理)图像的傅里叶变换

(精心整理)图像的傅里叶变换

傅里叶变换的作用

傅里叶变换将信号分成不同频率成份。类似光学中的 分色棱镜把白光按波长(频率)分成不同颜色,称数学 棱镜。 傅里叶变换的成份:直流分量和交流分量


信号变化的快慢与频率域的频率有关。噪声、边缘、 跳跃部分代表图像的高频分量;背景区域和慢变部分 代表图像的低频分量
二维DFT傅里叶变换

g ( x, y) G( , ) exp[ j 2 ( x y)]d d

G( , ) 是g(x,y)的频谱,物函数g(x,y)可以看作不同方 G( , )d d 向传播的单色平面波分量的线性叠加。 cos cos 为权重因子。空间频率 表示了单色 , 平面波的传播方向。
I (u, v) R(u, v)
2
傅里叶变换中出现的变量u和v通常称为频率变量,空间 频率可以理解为等相位线在x,y坐标投影的截距的倒数。
y Y
0
x X
相应的空间频率分别为
u
1 cos 1 cos ,v X Y
思考:噪声、线、细节、 背景或平滑区域对应的空 间频率特性?
F=fftshift(fft2(f)); G=fftshift(fft2(g)); subplot(223) imshow(log(abs(F+G)),[]) FG=fftshift(fft2(f+g)); title('DFT(f)+DFT(g)') subplot(224) imshow(log(abs(FG)),[]) title('DFT(f+g)')
R loga (1 KFmax ) loga (1 KFmin )
例题:对一幅图像实施二维DFT,显示并观察其频谱。 解:源程序及运行结果如下: %对单缝进行快速傅里叶变换,以三种方式显示频谱, %即:直接显示(坐标原点在左上角);把坐标原点平 %移至中心后显示;以对数方式显示。 f=zeros(512,512); f(246:266,230:276)=1; subplot(221),imshow(f,[]),title('单狭缝图像') F=fft2(f); %对图像进行快速傅里叶变换 S=abs(F); subplot(222) imshow(S,[]) %显示幅度谱 title('幅度谱(频谱坐标原点在坐上角)')

图像处理之傅里叶变换matlab实现

图像处理之傅里叶变换matlab实现

图像处理之傅里叶变换matlab实现傅里叶变换是一种将时域信号转换为频域信号的数学工具。

在图像处理中,傅里叶变换可以用于图像的频域分析和滤波,以及图像的压缩和增强等应用。

Matlab是一种功能强大的数值计算和图形化工具,它提供了丰富的函数和工具箱,可以方便地进行傅里叶变换的实现。

在Matlab中,可以使用fft2函数对图像进行二维傅里叶变换。

该函数的基本语法如下:Y = fft2(X)其中,X是输入的图像矩阵,Y是输出的频域图像矩阵。

Y的大小与X 相同,表示了图像在频域中的分布情况。

为了更好地理解傅里叶变换的过程,我们可以使用一幅灰度图像作为示例进行实现。

首先,我们需要读取图像并将其转换为灰度图像。

可以使用imread函数读取图像,并使用rgb2gray函数将图像转换为灰度图像:img = imread('image.jpg');gray_img = rgb2gray(img);接下来,我们可以对灰度图像进行傅里叶变换。

首先,我们需要将图像矩阵进行归一化操作,以避免频谱的幅度过大。

可以使用im2double函数将图像矩阵转换为双精度类型:normalized_img = im2double(gray_img);然后,我们可以使用fft2函数对归一化后的图像矩阵进行傅里叶变换:fft_img = fft2(normalized_img);得到的fft_img是一个复数矩阵,包含了图像在频域中的幅度和相位信息。

为了更好地可视化频域图像,可以使用fftshift函数将频域图像的零频率移到中心位置:shifted_fft_img = fftshift(fft_img);最后,我们可以使用abs函数计算频域图像的幅度谱,并使用matshow函数将其显示出来:amplitude_spectrum = abs(shifted_fft_img);imshow(amplitude_spectrum, []);通过以上步骤,我们就可以实现对图像的傅里叶变换,并显示出频域图像的幅度谱。

数字图像处理及MATLAB实现实验四——图像变换

数字图像处理及MATLAB实现实验四——图像变换

数字图像处理及MATLAB实现实验四——图像变换1.图像的傅⾥叶变换⼀(平移性质)傅⾥叶变换的平移性质表明了函数与⼀个指数项相乘等于将变换后的空域中⼼移到新的位置,并且平移不改变频谱的幅值。

I=imread('1.bmp');figure(1)imshow(real(I));I=I(:,:,3);fftI=fft2(I);sfftI=fftshift(fftI); %求离散傅⾥叶频谱%对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置RRfdp1=real(sfftI);IIfdp1=imag(sfftI);a=sqrt(RRfdp1.^2+IIfdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;figure(2)imshow(real(a));I=imread('2.bmp');figure(1)imshow(real(I));I=I(:,:,3);fftI=fft2(I);sfftI=fftshift(fftI); %求离散傅⾥叶频谱%对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置RRfdp1=real(sfftI);IIfdp1=imag(sfftI);a=sqrt(RRfdp1.^2+IIfdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;figure(2)imshow(real(a));I=imread('3.bmp');figure(1)imshow(real(I));I=I(:,:,3);fftI=fft2(I);sfftI=fftshift(fftI); %求离散傅⾥叶频谱%对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置RRfdp1=real(sfftI);IIfdp1=imag(sfftI);a=sqrt(RRfdp1.^2+IIfdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;figure(2)imshow(real(a));实验结果符合傅⾥叶变换平移性质2.图像的傅⾥叶变换⼆(旋转性质)%构造原始图像I=zeros(256,256);I(88:168,124:132)=1; %图像范围是256*256,前⼀值是纵向⽐,后⼀值是横向⽐imshow(I)%求原始图像的傅⾥叶频谱J=fft2(I);F=abs(J);J1=fftshift(F);figureimshow(J1,[550])%对原始图像进⾏旋转J=imrotate(I,90,'bilinear','crop');figureimshow(J)%求旋转后图像的傅⾥叶频谱J=fft2(I);F=abs(J);J2=fftshift(F);figureimshow(J2,[550])3.图像的离散余弦变换⼀%对cameraman.tif⽂件计算⼆维DCT变换RGB=imread('cameraman.tif');figure(1)imshow(RGB)I=rgb2gray(RGB);%真彩⾊图像转换成灰度图像J=dct2(I);%计算⼆维DCT变换figure(2)imshow(log(abs(J)),[])%图像⼤部分能量集中在左上⾓处figure(3);J(abs(J)<10)=0;%把变换矩阵中⼩于10的值置换为0,然后⽤idct2重构图像K=idct2(J)/255;imshow(K)4.图像的离散余弦变换⼆% I=imread('1.bmp');% figure(1)% imshow(real(I));% I=I(:,:,3);% fftI=fft2(I);% sfftI=fftshift(fftI); %求离散傅⾥叶频谱% %对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置% RRfdp1=real(sfftI);% IIfdp1=imag(sfftI);% a=sqrt(RRfdp1.^2+IIfdp1.^2);% a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;% figure(2)% imshow(real(a));% I=imread('2.bmp');% figure(1)% imshow(real(I));% I=I(:,:,3);% fftI=fft2(I);% sfftI=fftshift(fftI); %求离散傅⾥叶频谱% %对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置% RRfdp1=real(sfftI);% IIfdp1=imag(sfftI);% a=sqrt(RRfdp1.^2+IIfdp1.^2);% a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;% figure(2)% imshow(real(a));% I=imread('3.bmp');% figure(1)% imshow(real(I));% I=I(:,:,3);% fftI=fft2(I);% sfftI=fftshift(fftI); %求离散傅⾥叶频谱% %对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置% RRfdp1=real(sfftI);% IIfdp1=imag(sfftI);% a=sqrt(RRfdp1.^2+IIfdp1.^2);% a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;% figure(2)% imshow(real(a));% %构造原始图像% I=zeros(256,256);% I(88:168,124:132)=1; %图像范围是256*256,前⼀值是纵向⽐,后⼀值是横向⽐% imshow(I)% %求原始图像的傅⾥叶频谱% J=fft2(I);% F=abs(J);% J1=fftshift(F);figure% imshow(J1,[550])% %对原始图像进⾏旋转% J=imrotate(I,90,'bilinear','crop');% figure% imshow(J)% %求旋转后图像的傅⾥叶频谱% J=fft2(I);% F=abs(J);% J2=fftshift(F);figure% imshow(J2,[550])% %对cameraman.tif⽂件计算⼆维DCT变换% RGB=imread('cameraman.tif');% figure(1)% imshow(RGB)% I=rgb2gray(RGB);% %真彩⾊图像转换成灰度图像% J=dct2(I);% %计算⼆维DCT变换% figure(2)% imshow(log(abs(J)),[])% %图像⼤部分能量集中在左上⾓处% figure(3);% J(abs(J)<10)=0;% %把变换矩阵中⼩于10的值置换为0,然后⽤idct2重构图像% K=idct2(J)/255;% imshow(K)RGB=imread('cameraman.tif');I=rgb2gray(RGB);I=im2double(I); %转换图像矩阵为双精度型T=dctmtx(8); %产⽣⼆维DCT变换矩阵%矩阵T及其转置T'是DCT函数P1*X*P2的参数B=blkproc(I,[88],'P1*x*P2',T,T');maxk1=[ 1111000011100000110000001000000000000000000000000000000000000000 ]; %⼆值掩模,⽤来压缩DCT系数B2=blkproc(B,[88],'P1.*x',mask1); %只保留DCT变换的10个系数I2=blkproc(B2,[88],'P1*x*P2',T',T); %重构图像figure,imshow(T);figure,imshow(B2);figure,imshow(I2);RGB=imread('cameraman.tif');I=rgb2gray(RGB);I=im2double(I); %转换图像矩阵为双精度型T=dctmtx(8); %产⽣⼆维DCT变换矩阵%矩阵T及其转置T'是DCT函数P1*X*P2的参数B=blkproc(I,[88],'P1*x*P2',T,T');maxk1=[ 1111000011100000100000000000000000000000000000000000000000000000 ]; %⼆值掩模,⽤来压缩DCT系数B2=blkproc(B,[88],'P1.*x',mask1); %只保留DCT变换的10个系数I2=blkproc(B2,[88],'P1*x*P2',T',T); %重构图像figure,imshow(T);figure,imshow(B2);figure,imshow(I2);5.图像的哈达玛变换cr=0.5;I=imread('cameraman.tif');I=im2double(I)/255; %将读⼊的unit8类型的RGB图像I转换为double类型的数据figure(1),imshow(I);%显⽰%求图像⼤⼩[m_I,n_I]=size(I); %提取矩阵I的⾏列数,m_I为I的⾏数,n_I为I的列数sizi=8;snum=64;%分块处理t=hadamard(sizi) %⽣成8*8的哈达码矩阵hdcoe=blkproc(I,[sizi sizi],'P1*x*P2',t,t');%将图⽚分成8*8像素块进⾏哈达码变换%重新排列系数CE=im2col(hdcoe,[sizi,sizi],'distinct');%将矩阵hdcode分为8*8互不重叠的⼦矩阵,再将每个⼦矩阵作为CE的⼀列[Y Ind]=sort(CE); %对CE进⾏升序排序%舍去⽅差较⼩的系数,保留原系数的⼆分之⼀,即32个系数[m,n]=size(CE);%提取矩阵CE的⾏列数,m为CE的⾏数,n为CE的列数snum=snum-snum*cr;for i=1:nCE(Ind(1:snum),i)=0;end%重建图像re_hdcoe=col2im(CE,[sizi,sizi],[m_I,n_I],'distinct');%将矩阵的列重新组织到块中re_I=blkproc(re_hdcoe,[sizi sizi],'P1*x*P2',t',t);%进⾏反哈达码变换,得到压缩后的图像re_I=double(re_I)/64; %转换为double类型的数据figure(2);imshow(re_I);%计算原始图像和压缩后图像的误差error=I.^2-re_I.^2;MSE=sum(error(:))/prod(size(re_I));。

傅里叶变换在医学影像处理中的应用进展

傅里叶变换在医学影像处理中的应用进展

傅里叶变换在医学影像处理中的应用进展傅里叶变换是一种重要的数学工具,被广泛应用于信号处理、图像处理和医学影像处理等领域。

在医学影像处理中,傅里叶变换的应用正在不断地得到进展和拓展。

本文将探讨傅里叶变换在医学影像处理中的应用进展,并介绍其中一些具体的应用案例。

一、医学影像处理中的傅里叶变换原理傅里叶变换是将一个信号或图像分解成一系列基础频率的正弦和余弦函数的过程。

通过对图像进行傅里叶变换,可以将图像转换到频域,从而更好地分析和处理图像。

医学影像处理中的傅里叶变换原理与一般图像处理类似,但应用的重点在于对医学影像中的各种结构、组织和异常情况进行分析和研究。

二、傅里叶变换在医学影像处理中的应用进展1. 图像增强与去噪傅里叶变换可以用于医学影像中的图像增强和去噪。

通过对图像进行傅里叶变换,可以将图像转换到频域,然后通过滤波等方法去除低频噪声和高频噪声,从而获得更清晰、更准确的图像信息。

此外,傅里叶变换还可以用于图像的锐化和边缘增强,提高图像的视觉效果。

2. 影像分割与提取傅里叶变换在医学影像处理中还可用于影像分割与特征提取。

医学影像中常常存在不同的结构和组织,通过对医学影像进行傅里叶变换,可以将不同的结构和组织在频域上进行分离,从而实现影像的分割和特征提取。

傅里叶变换还可以用于检测和测量病变区域的大小、形状和密度等特征,为医生提供更有效的诊断和治疗依据。

3. 异常检测与分类傅里叶变换在医学影像处理中还可用于异常检测与分类。

通过对医学影像进行傅里叶变换,可以得到病灶区域的频谱特征,进而通过特征提取和分类算法,实现对异常区域的检测和分类。

医学影像中的异常区域可能是肿瘤、囊肿等疾病的表现,通过傅里叶变换等方法对异常区域进行分析和研究,可以更早地发现病变并进行治疗。

4. 功能性影像分析傅里叶变换在医学影像处理中还可用于功能性影像分析。

功能性影像是一种通过记录和观察人体在不同功能状态下的代谢和血流等信息的影像。

通过对功能性影像进行傅里叶变换,可以将数据转换到频域,并通过频率分析等方法来研究人体的功能状态和生理变化。

图象的傅立叶变换

图象的傅立叶变换

二、图像数据的傅立叶变换图像变换在图像处理和分析中起着重要的作用。

为了有效和快速地对图像进行处理和分析,常常需要将原定义在图像空间的图像以某种形式转换到另外一些空间中,并利用这些空间的特有性质方便地进行一定的加工,最后在转换回图像空间以得到所需的处理效果。

这些转换方法就是本节要介绍和讨论的图像频域变换技术。

图像变换通常是一种二维正交变换。

一般要求:①正交变换必须是可逆的;②正变换和反变换的算法不能太复杂;③在变换域中图像能量集中分布在低频率的成分上,边缘、现状信息反映在高频率成分上,以有利于图像处理。

因此正交变换广泛应用在图像增强、图像恢复、特征提取、图像压缩编码和形状分析等方面。

在此首先讨论常用的傅立叶变换。

图像的傅立叶变换将图像空间变换到频域空间,从而可利用傅立叶频谱特性进行图像处理。

傅立叶变换是一种可分离和对称变换,下面先介绍这两个基本特性,然后再给出2-D 傅立叶的变换定义和定理,以及变换实例(章毓晋,2009)。

(一)可分离和对称变换图像至少是2-D的,2-D图像的正变换(简称变换)和反变换可分别表示为:(2.22)(2.23)其中为的变换,是正向变换核;为反变换,是反向变换核。

这两个核均依赖于,而与或的值无关。

可分离变换是图像变换的一种,它的变换核是可分离的;另外,图像变换中有一类是对称变换,对称变换的核是对称的。

下面以正向变换核为例进行介绍。

首先,如果下式成立:(2.24)则称正向变换核实可分离的。

进一步,如果和的函数形式一样,则称正向变换核是对称的,此时式(2.24)可写成:(2.25)具有可分离变换核的2-D变换可分成两个步骤来计算,每个步骤使用一个1-D变换。

具体实现时可如下考虑:将式(2.24)代入式(2.22),首先沿着的每一列进行1-D变换得到:(2.26)然后沿的每一行进行1-D变换得到(2.27)如果变换核是可分离的和对称的函数时,变换可用矩阵形式表示。

以正变换为例,有(2.28)其中F是NxN图像矩阵,A是NxN对称变换矩阵,其元素为,T是输出的NxN变换结果,为了得到反变换,对式两边各乘一个反变换矩阵B(2.29)如果,则(2.30)这表明图像F可完全恢复,如果B不等于,则可由式得F的一个近似:(2.31)利用矩阵形式的变换表示的一个优点是,所得到的变换矩阵分解成刻分解成若干个具有较少非零元素的乘积,这样可减少冗余并减少操作次数。

(完整版)精心整理图像的傅里叶变换

(完整版)精心整理图像的傅里叶变换

? 离散傅里叶变换及其反变换总存在。 ? 用欧拉公式得 e j? ? cos? ? j sin ?
N ?1
F (u) ? ? f (x)[cos 2?ux / N ? j sin 2?ux / N] x? 0
每个F(u) 由f(x)与对应频率的正弦和余弦乘积和组成 ;
u 值决定了变换的频率成份,因此, F(u) 覆盖的域 (u值) 称为频率域,其中每一项都被称为 FT 的频率 分量。与f(x) 的“时间域”和“时间成份 ”相对应。
(a)
(b)
?1 1 1 1 ?? f (0)?
F (u) ?
1 4
??1 ?1
?j ?1
?1 1
j
?? ??
f
(1)
? ?
? 1?? f (2)?
??1
j
?1
?
jቤተ መጻሕፍቲ ባይዱ
?? ??
f
(3)??
yj
-1
1 x
-j
图像的频谱幅度随频率增大而迅速衰减
N ?1
? F (u) ? f (x)e? j2?ux/ N x? 0
?F(u)的反变换的反变换 :
? f (x) ?
1
N ?1
F (u)e j 2?ux/ N
N x? 0
计算F(u): 1) 在指数项中代入 u=0,然后将所有x 值
相加,得到F(0); 2) u=1,复对所有x 的 相加,得到F(1); 3) 对所有M 个u 重复 此过程,得到全部完 整的FT。
图像的傅里叶变换
Fourier Transformation For Image
时域分析只能反映信号的幅值随时间的变化 情况,除单频率分量的简谐波外,很难明确揭示 信号的频率组成和各频率分量大小。

图像傅里叶变换

图像傅里叶变换

图像傅⾥叶变换1. 通俗理解傅⾥叶变换可参考:[1](图⽚摘⾃)2. 通俗理解数字图像傅⾥叶变换傅⾥叶定理指出,任何信号都可以表⽰成⼀系列正弦信号的叠加。

在⼀维领域,信号是⼀维正弦波的叠加,那么在⼆维领域,就是⽆数⼆维平⾯波的叠加。

⽐如⼀帧图像,不同点处的灰度值⾼低起伏变化,傅⾥叶变换就是⽤⽆数⼆维正弦波来拟合这种灰度值的起伏变化,灰度值的起伏变化平缓的地⽅,很低频的⼆维正弦波即可拟合,灰度值的起伏变化很⼤的地⽅(⽐如图像边缘、噪点等),则需要⾼频⼆维正弦波才能拟合。

刻画⼀维正弦波只需要⼀个频率值u,刻画⼆维正弦波则需要两个频率值(u,v)。

例如:数字图像傅⾥叶变换可参考:[1] MOOC课程[2] 数字图像处理,冈萨雷斯,第⼆版,第四章[3][4]下图摘⾃[1],在FFT功率谱图中,⾼亮度表明该频率特征明显。

3. 从数学公式的⾓度理解傅⾥叶变换本节的公式摘⾃冈萨雷斯的《数字图像处理》第四章3.1 1-Dimensional Fourier transform1-D Fourier transform and inverse Fourier transfrom:Using Euler's formula, Fourier transform can be expressed as所以,当我们看到傅⾥叶变换公式中的e−j2πµt时,我们应该想到的是⼀系列不同频率的正弦波。

傅⾥叶变换公式可这样理解:所谓傅⾥叶变换在其数学本质上⽆⾮是信号与正弦函数在时间轴上的卷积操作。

根据⼀般的惯例,我们将信号与之作卷积操作的部分称之为卷积核或核函数,因此我们可以从频率分解以外的视⾓来审视傅⾥叶变换,可以将其认为是信号与⼀个参数可变的核函数的卷积操作,其可变的核函数的参数就是频率。

(这段话摘⾃)1-D discrete Fourier transform:x is integers, M is the number of samples of µ.1-D inverse discrete Fourier transform:3.2 2-Dimensional Fourier transform2-D Fourier transform and inverse Fourier transfrom:2-D discrete Fourier transform:4. ⽤matlab实现傅⾥叶变换傅⾥叶变换函数:function F = FT_peng(I)[m,n] = size(I);F = zeros(m,n);for u = 1:mfor v = 1:nfor x = 1:mfor y = 1:nF(u,v) = F(u,v) + double(I(x,y)) * exp(-2*pi*1i*(u*x/m+v*y/n)); endendendendend傅⾥叶逆变换函数:function f = IFT_peng(I)[m,n] = size(I);f = zeros(m,n);for x = 1:mfor y = 1:nfor u = 1:mfor v = 1:nf(x,y) = f(x,y) + double(I(u,v)) * exp(2*pi*1i*(u*x/m+v*y/n)); endendendendf = f/(m*n);end主程序代码:clear;I = imread('test_img.png');I = imresize(I, [100,100]);I = rgb2gray(I);% using fft2 directlyI_fft2 = fft2(I);I_fft2 = abs(I_fft2); % abs将负实数和虚数部分调整为正实数I_fft2shift = fftshift(I_fft2); % 把四个⾓的⾼频信息移动到最中间I_fft2shift = uint8(I_fft2shift/256); % 除以256是为了缩⼩数值,能更好的显⽰% using function defined by usI_FT = FT_peng(I);I_FT2 = abs(I_FT);I_FTshift = fftshift(I_FT2);I_FTshift = uint8(I_FTshift/256);% recover the image by inverse Fourier function defined by usI_inv = IFT_peng(I_FT);I_inv = uint8(I_inv);% plotsubplot(221);imshow(I); title('Original image');subplot(222);imshow(I_fft2shift); title('fft2 frequency image');subplot(223);imshow(I_FTshift); title('FT frequency image');subplot(224);imshow(I_inv); title('Recovered image');运⾏结果:注:程序参考了博客Processing math: 100%。

傅里叶变换在图像处理中的应用研究

傅里叶变换在图像处理中的应用研究

傅里叶变换在图像处理中的应用研究1. 简介傅里叶变换是一种重要的数学工具,它可以将一个函数从时域表示转换为频域表示。

在图像处理领域,傅里叶变换被广泛应用于数码图像的分析和处理。

本文将探讨傅里叶变换在图像处理中的应用,以及相关的研究进展。

2. 图像的频域表示在傅里叶变换中,一个函数可以表示为由不同频率的正弦和余弦波组成的和。

同样,一幅图像也可以通过傅里叶变换来表示。

频域表示将图像转换为频域中的振幅和相位信息。

这种转换可以帮助我们理解图像的不同频率分量,从而实现图像的去噪、增强和压缩等处理。

3. 图像去噪与滤波图像处理中常常需要去除图像中的噪声。

傅里叶变换通过将图像转换到频域,可以较好地分析图像中的频率信息,从而选择性地去除噪声。

在频域中,我们可以将噪声频率与图像信号频率进行区分,进而使用滤波器来对不需要的频率进行滤除。

常用的滤波器包括低通滤波器和高通滤波器,它们分别可以滤除低频和高频信息。

4. 图像增强与恢复傅里叶变换不仅可以进行图像去噪处理,还可以对图像进行增强和恢复。

通过在频域调整图像中的不同频率分量,我们可以增强或减弱特定频率的信号。

例如,通过增强高频分量,我们可以使图像的细节更加清晰,使其更加适合于特定应用需求。

另外,在图像恢复中,傅里叶变换可以通过补偿缺失的频率信息来恢复图像中的细节。

5. 图像压缩与编码图像压缩是计算机视觉和图像处理领域的重要任务之一。

傅里叶变换在图像压缩中发挥了重要作用。

通过将图像转换为频域表示,我们可以使用不同的编码方案对频域信息进行压缩。

其中,基于傅里叶变换的JPEG压缩算法是应用最为广泛的图像压缩算法之一。

6. 研究进展与应用傅里叶变换在图像处理领域的应用研究已经取得了丰硕的成果。

近年来,基于深度学习的图像处理方法逐渐兴起,但傅里叶变换仍然被广泛应用于图像的前处理和分析中。

例如,傅里叶变换可以辅助图像分割、图像配准和图像重建等任务。

此外,基于傅里叶变换的频域滤波方法也可以用于图像的实时处理和目标检测等应用场景。

图像傅里叶变换的意义是什么?

图像傅里叶变换的意义是什么?

图像傅里叶变换的意义是什么?前言前面转载过一篇关于傅里叶变换原理的文章《一篇难得的关于傅里叶分析的好文》。

那篇文章写得非常棒,浅显易懂,可以说稍有基础的人都能看懂那篇博文。

但是那篇博文更多的是从信号处理的角度以及原理的角度讲述傅里叶变换。

那么在数字图像处理中,傅里叶变换之后得到的频谱图又有怎样的运用呢?这篇博客就是为了简单讲讲傅里叶变换在数字图像处理中的意义和基本应用,如有错误请各位指出。

数字图像的傅里叶变换通过前面的博文已经知道傅里叶变换是得到信号在频域的分布,数字图像也是一种信号,对它进行傅里叶变换得到的也是它的频谱数据。

对于数字图像这种离散的信号,频率大小表示信号变化的剧烈程度或者说是信号变化的快慢。

频率越大,变化越剧烈,频率越小,信号越平缓,对应到图像中,高频信号往往是图像中的边缘信号和噪声信号,而低频信号包含图像变化频繁的图像轮廓及背景等信号。

需要说明的是,傅里叶变换得到的频谱图上的点与原图像上的点之间不存在一一对应的关系。

频域数据的应用1. 图像去噪根据上面说到的关系,我们可以根据需要获得在频域对图像进行处理,比如在需要除去图像中的噪声时,我们可以设计一个低通滤波器,去掉图像中的高频噪声,但是往往也会抑制图像的边缘信号,这就是造成图像模糊的原因。

以均值滤波为例,用均值模板与图像做卷积,大家都知道,在空间域做卷积,相当于在频域做乘积,而均值模板在频域是没有高频信号的,只有一个常量的分量,所以均值模板是对图像局部做低通滤波。

除此之外,常见的高斯滤波也是一种低通滤波器,因为高斯函数经过傅里叶变换后,在频域的分布依然服从高斯分布,如下图所示。

所以它对高频信号有很好的滤除效果。

高斯函数在频域的分布图像2. 图像增强及锐化图像增强需要增强图像的细节,而图像的细节往往就是图像中高频的部分,所以增强图像中的高频信号能够达到图像增强的目的。

同样的图像锐化的目的是使模糊的图像变得更加清晰,其主要方式是增强图像的边缘部分,其实就是增强图像中灰度变化剧烈的部分,所以通过增强图像中的高频信号能够增强图像边缘,从而达到图像锐化的目的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
傅里叶变换的MATLAB函数
在MATLAB中提供了fft函数用于实现一维快速傅里 叶变换。其调用格式为: (1)Y=fft(X):返回向量X的离散傅里叶变换。如果X 为矩阵,fft函数返回矩阵每列的傅里叶变换。 (2)Y=fft2(X):返回二维离散傅里叶变换,结果Y和 X的大小相同。 (3)Y=fftn(X):返回X的多维离散傅里叶变换,结果 Y和X的大小相同。 (4)Y=fftshift(X):把fft函数、fft2函数和fftn函数输 出结果的零频率部分移到数组的中间。
傅里叶变换的MATLAB函数
例二:对一幅图像实施二维DFT,显示并观察其频 谱。对单缝进行快速傅里叶变换,以三种方式显 示频谱。即:直接显示(坐标原点在左上角); 把坐标原点平移至中心后显示;以对数方式显示。 >>f=zeros(512,512); >>f(246:266,230:276)=1; >>subplot(221);imshow(f,[]); >>xlabel(‘单狭缝图像’); >>F=fft2(f); >>S=abs(F);
傅里叶变换的MATLAB函数
>>F=fftshift(abs(fft2(f))); >>subplot(224);imshow(F,[-1,5],’notruesize’); >>xlabel(‘(d)图像旋转45度的傅里叶变换频 谱’);
பைடு நூலகம்
傅里叶变换的MATLAB函数
>>f=zeros(1000,1000); >>f(350:649,475:524)=1; >>subplot(221); >>imshow(f,’notruesize’);% ‘notruesize’图片去适应 窗口,窗口大小不动,自动调节图片大小。所以 显示出来的图片跟实际尺寸可能不一致。 ‘truesize’ 就是按图片实际大小显示图片,窗口 会自动调节大小去适应图片尺寸。这个是默认情 况,跟省略这个参数一样。 >>xlabel(‘(a)原始图像’); >>subplot(222);F=fftshift(abs(fft2(f)));
傅里叶变换的MATLAB函数
>>imshow(F,[-1,5],’notruesize’);%将F值域设置为[1,5] >>xlabel(‘(b)傅里叶变换频谱’); >>f=zeros(1000,1000); >>f(350:649,475:524)=1; >>f=imrotate(f,45,’bilinnear’,’crop’);%以图像中心为 原点旋转45度,才用双线性插值,如果旋转后的 图像有所增大,则剪切其中间部分,返回和原图 大小一致的图像 >>subplot(223);imshow(f,’notruesize’); >>xlabel(‘(c)图像正向旋转45度‘);
傅里叶变换的MATLAB函数
>>subplot(222);imshow(S,[]); >>xlabel(‘幅度谱(频谱坐标原点在左上角)’); >>Fc=fftshift(F);%把频谱坐标原点由左上角移至屏幕中央。 >>subplot(223); >>Fd=abs(Fc); >>imshow(Fd,[ ]); >>xlabel(‘幅度谱(频谱坐标原点在屏幕中央)’); >>S2=log(1+abs(Fc)); >>subplot(224);imshow(S2,[ ]); >>xlabel(‘以对数方式显示频谱’)
傅里叶变换的MATLAB函数
构造一幅黑白二值图像,在256*256的黑色背景中 心产生一个8*16的白色矩形方块,然后对该图像 进行二维傅里叶变换。 >>I=zeros(256,256); >>I(124:132,120:136)=1; >>subplot(131);imshow(I); >>xlabel(‘(a)原始图像’); >>I=im2double(I);%把图像数据转换为双精度数, 因为FFT要求输入的矩阵为双精度浮点型。
傅里叶变换的MATLAB函数
>>F1=fft2(I); >>subplot(132);imshow(log(1+abs(F1)),[]); >>xlabel(‘(b)傅里叶变换’); >>FC1=fftshift(F1);%将二维傅里叶变换的零 频率由左上角移到频谱的中心 >>subplot(133);imshow(FC1); >>xlabel(‘(c)中心化’)
傅里叶变换的MATLAB函数
例三:对rice.png图像进行傅里叶变换 >>I1=imread(‘rice.png’); >>I1=im2double(I1); >>F1=fft2(I1); >>FC1=fftshift(F1); >>subplot(121);imshow(I1); >>xlabel(‘(a)原始图像’); >>subplot(122);imshow(log(1+abs(FC1))); >>xlabel(‘(b)傅里叶谱’);
相关文档
最新文档