实验二 图像的频域变换
数字图像处理第十章 图像的频域变换55页
![数字图像处理第十章 图像的频域变换55页](https://img.taocdn.com/s3/m/c30b995f6f1aff00bed51e9b.png)
本章ቤተ መጻሕፍቲ ባይዱ论的内容
二维离散傅立叶变换 快速傅立叶变换 二维离散傅立叶变换的应用 离散余弦变换
作 业(共1题)
1. 第230页 第1题。
谢谢你的阅读
❖ 知识就是财富 ❖ 丰富你的人生
问题的提出
人类视觉所感受到的是在空间域和时间域的 信号。
但是,往往许多问题在频域中讨论时,有其 非常方便分析的一面。例如,空间位置上的 变化不改变信号的频域特性。
图像变换的前提条件
首先,提出的变换必须是有好处的,换句话 说,可以解决时域中解决不了的问题。
其次,变换必须是可逆的,可以通过逆变换 还原回原时域中。
数字图像处理实验二:图像的频域处理
![数字图像处理实验二:图像的频域处理](https://img.taocdn.com/s3/m/db76214fa8956bec0975e398.png)
实验二、图像的频域处理一、实验类型:综合性实验二、实验目的1. 掌握二维傅里叶变换的原理。
2. 掌握二维傅里叶变换的性质。
三、实验设备:安装有MATLAB 软件的计算机四、实验原理傅里叶变换在图像增强、图像分析、图像恢复和图像压缩等方面扮演着重要的角色。
在计算机上使用傅里叶变换常常涉及到该变换的另一种形式——离散傅里叶变换(DFT )。
使用这种形式的傅里叶变换主要有以下两方面的理由:·DFT 的输入和输出都是离散的,这使得计算机处理更加方便;·求解DFT 问题有快速算法,即快速傅里叶变换(FFT )。
MATLAB 函数fft,fft2 和fftn 可以实现傅里叶变换算法,分别用来计算1 维DFT、2 维DFT 和n 维DFT。
函数ifft,ifft2 和ifftn 用来计算逆DFT。
下面结合一个例子进行演示。
五、实验内容部分一选择一幅图像,对其进行离散傅立叶变换,观察离散傅立叶频谱,并演示二维离散傅立叶变换的主要性质(如平移性、旋转性)。
六、实验步骤与结果(1)创建一个矩阵f,代表一个二值图像。
f=zeros(60,60); %创建一个60行,60列的零矩阵f(10:48,26:34)=1; %使矩阵f的10到48行,26到34列交叉部分置1 imshow(f,'InitialMagnification','fit')/imshow(f,'notruesize'); %显示得到二值图像f,如图所示:(2 )用以下命令计算f 的DFT 并可视化。
F=fft2(f); %对f图像进行傅立叶正变换F2=log(abs(F)); %对F变换得到傅立叶频谱,再用对数变换更好得显示图像imshow(F2,[-1,5],'InitialMagnification','fit'); %显示图像colormap(jet);colorbar %用彩色绘制网线,用彩条信号得到没有0 填充的离散傅里叶变换,如图所示:(3)为了获取傅里叶变换的更佳的取样数据,计算F 的DFT 时给它进行0 填充。
实验二 图像变换及频域滤波
![实验二 图像变换及频域滤波](https://img.taocdn.com/s3/m/a2069456be23482fb4da4cef.png)
实验二 图像变换及频域滤波一.实验目的(1)编写快速傅里叶变换算法程序,验证二维傅里叶变换的平移性和旋转不变性;(2)实现图像频域滤波,加深对频域图像增强的理解。
二.实验环境及开发工具Windws XP 、MATALAB7.0三.实验原理及方法1.验证二维傅里叶变换的平移性和旋转不变性;a .要验证证其平移特性,就先建立一个二维图象,然后再对其平移,通过观察两者的频谱图来观察平移特性,为了方便起见,我们选择特殊情况来分析,令u0=v0=N/2,使),()1(),(12y x f y x f y x +-= F(u-N/2,v-N/2),达到将原始F(U,V)四周频谱移到中心的效果,及达到频谱中心化。
b .验证旋转不变性可以通过将原始数组的通过移动45度,然后再比较旋转后与旋转前的频谱,得出频谱旋转不变性的结论。
具体步骤:1)产生如图1所示图像),(1y x f (128×128大小,暗处=0,亮处=255)2)同屏显示原图1f 和)(FFT 1f 的幅度谱图。
3)若令),()1(),(12y x f y x f y x +-=,重复以上过程,比较二者幅度谱的异同。
4)将),(2y x f 顺时针旋转45度得到),(3y x f ,显示)(FFT 3f 的幅度谱,并与)(FFT 2f 的幅度谱进行比较。
2.实现图像频域滤波,加深对频域图像增强的理解。
频率域中进行增强是相当直观的,主要步骤有: 图1实验图象f 1(x , y )1)计算需要增强的图象的傅立叶变换;2)将其与一个(根据需要设计的)转移的函数相乘;3)再将结果反傅立叶变换以得到增强的图象.为了直观的展示频域增强,可以通过下面任务来展现:对如图2所示的数字图像lena.img (256×256大小、256级灰度)进行频域的理想低通、高通滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果图。
四.实验要求及分析1.验证二维傅里叶变换的平移性和旋转不变性1)建立一个二维数组并要求该数组能够显示成图1.a=zeros(128,128)for y=54:74for x=34:94a(x,y)=1;endend然后再用显示图象的函数显示即可, 在此我们用imshow(a)语句。
【第三讲】图像的频域变换
![【第三讲】图像的频域变换](https://img.taocdn.com/s3/m/bfd3a96927284b73f342500a.png)
3.频域变换的一般表达式
二、难点内容
1.KL变换
2.小波变换简介
教具(多媒体、模型、图表等):
板书
南昌大学科学技术学院教案
教学内容
教学方法
时间分配
1.傅立叶变换
2.频域变换的一般表达式
3.离散余弦变换
4.KL变换
5.小波变换简介
板书+阐述
第1,2个知识点1课时,
第3知识点1课时
课堂设问:
南昌大学科学技术学院教案
课程
名称
数字图像处理
授课
时间
周,星期,节(年月日)
课次
授课
方式
■理论课□实验课□其他
学时
2
授课
题目
图像的频域变换
目的与要求:
1.掌握傅立叶变换
2.理解频域变换的通用公式
3.掌握离散余弦变换
4.掌握KL变换
5.了解小波变换简介
重点与难点:
一、重点内容
1.傅立叶变换、傅立叶变换的性质
和连续时间信号、连续时间系统的区别与联系?
教学内容小结:
本讲讨论了有关频域变换的几个基本定义。并讨论了傅立叶变换、离散余弦变换的性质,KL变换的原理和应用,为以后课程的教学打下基础。
复习思考题或作业题:
P57 – P59 1,3,5,10,18,21(5)(7)
教学后记(此项内容在课程结束后填写):
实验二 图像变换
![实验二 图像变换](https://img.taocdn.com/s3/m/105797961a37f111f1855b6f.png)
实验二图像变换
一、实验内容
1.对图像进行平移,掌握图像的傅里叶频谱和平移后的傅里叶频谱的对应关系;
2.对图像进行旋转,掌握图像的傅里叶频谱和旋转后的傅里叶频谱的对应关系。
2、实验原理
如果F(u,v)的频率变量u,v各移动了u0,v0距离,f(x,y)的变量x,y各移动了x0,y0距离,则傅里叶变换如下所示
因此傅里叶变换的平移性质表明函数与一个指数项相乘等于将变换后的空域中心移到新的位置,平移不改变频谱的幅值。
傅里叶旋转可以通过下面变换得到:
对f(x,y)旋转一个角度对应于将其傅里叶变换F(u,v)也旋转相同的角度。
3、实验方法和程序
1. 选取一副图像,进行离散傅里叶变换,将其中心移到零点,得到
其离散傅里叶变换。
参考例4.10
2. 选取一副图像,进行离散余弦变换,并对其进行离散余弦反变
换。
参考例4.13
3. 选取一副图像,采用butterworth高通滤波器对图像进行高通滤
波。
参考例5.7
4、实验结果与分析
Matlab代码以及结果图
5、思考题
1. 将图像分别进行X轴与Y轴上的平移,所得傅里叶频谱与原图像
的傅里叶频谱有什么变换?。
数字图像处理_图像的频域变换处理
![数字图像处理_图像的频域变换处理](https://img.taocdn.com/s3/m/6c5f2c9de87101f69e3195b0.png)
图像的频域变换处理1 实验目的 1. 掌握Fourier ,DCT 和Radon 变换与反变换的原理及算法实现,并初步理解Fourier 、Radon和DCT 变换的物理意义。
2、 利用傅里叶变换、离散余弦变换等处理图像,理解图像变换系数的特点。
3、 掌握图像的频谱分析方法。
4、 掌握图像频域压缩的方法。
5、 掌握二维数字滤波器处理图像的方法。
2 实验原理1、傅里叶变换 fft2函数:F=fft2(A);fftshift 函数:F1=fftshift(F);ifft2函数:M=ifft2(F);2、离散余弦变换:dct2函数 :F=dct2(f2);idct2函数:M=idct2(F);3、 小波变换对静态二维数字图像,可先对其进行若干次二维DWT 变换, 将图像信息分解为高频成分H 、V 和D 和低频成分A 。
对低频部分A ,由于它对压缩的结果影响很大,因此可采用无损编码方法, 如Huffman 、 DPCM 等;对H 、V 和D 部分,可对不同的层次采用不同策略的向量量化编码方法,这样便可大大减少数据量,而图像的解码过程刚好相反。
(1)dwt2[CA,CH,CV,CD]=dwt2(X,’wname’)[CA,CH,CV,CD]=dwt2(X,LO_D,HI_D’)()()⎰⎥⎦⎤⎢⎣⎡-ψ=dt a b t t Rf a 1b ,a W *()⎪⎭⎫ ⎝⎛-ψ=ψa b t a 1t b ,a 112()00(,)[(,)](,)ux vy M N j M N x y f x y eF f x y F u v π---+====∑∑1100(21)(21)(,)(,)()()cos cos 22M N x y x u y v F u v f x y C u C v M Nππ--==++=∑∑CA 图像分解的近似分量,CH 水平分量,CV 垂直分量,CD 细节分量; dwt2(X,’wname ’) 使用小波基wname 对X 进行小波分解。
实验五--图像频域变换
![实验五--图像频域变换](https://img.taocdn.com/s3/m/59c4adfabd64783e08122b3c.png)
实验五图像频域变换一、实验目的1.了解傅里叶变换在图像处理中的应用2.利用Matlab语言编程实现图像的频域变换。
二、实验内容1. 打开并显示一幅图像,对其进行Fourier变换,观察其频谱图像。
2. 用两种方法将图像的频域中心移动到图像中心,然后观察其Fourier变换后的频谱图像。
(见Fourier变换的性质:f(x,y) (-1)x+y F(u-N/2,v-N/2))对图像的Fourier变换频谱进行滤波,如:将频谱超过某个给定的值(均值或2/3均值)的变换值变为0,然后再求其Fourier逆变换,比较所得图像与原图像的差别。
3.对图像进行离散余弦变换,并观察其变换域图像。
要求:用Matlab语言进行编程实现上述功能,同时也应该熟悉用Matlab中现有的函数来实现。
傅里叶变换A)傅里叶变换基本操作I = imread(你的图像);imshow(I);title('源图像');J = fft2(I);figure, imshow(J);title('傅里叶变换');%频移JSh = fftshift(J);figure, imshow(JSh);title('傅里叶变换频移');%直接傅里叶反变换Ji = ifft2(J);figure, imshow(Ji/256);title('直接傅里叶反变换');%幅度JA = abs(J);iJA = ifft2(JA);figure, imshow(iJA/256);title('幅度傅里叶反变换');%相位JP = angle(J);iJP = ifft2(JP);figure, imshow(abs(iJP)*100);title('相位傅里叶反变换');B)利用MATLAB软件实现数字图像傅里叶变换的程序I=imread(‘原图像名.gif’); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅里叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅里叶变换的实部II=imag(sfftI); %取傅里叶变换的虚部A=sqrt(RR.^2+II.^2);%计算频谱幅值A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225;%归一化figure; %设定窗口imshow(A); %显示原图像的频谱C)绘制一个二值图像矩阵,并将其傅里叶函数可视化。
数字图像处理图像变换与频域处理
![数字图像处理图像变换与频域处理](https://img.taocdn.com/s3/m/f866c4244b35eefdc8d333bd.png)
南京信息工程大学 计算机图像处理 实验(实习)报告 实验(实习)名称 图像变换与频域处理 实验(实习)日期 得分 指导老师 系 专业 班级 姓名 学号一、 实验目的1.了解离散傅里叶变换的基本性质;2.熟练掌握图像傅里叶变换的方法及应用;3.通过实验了解二维频谱的分布特点;4.熟悉图像频域处理的意义和手段;5.通过本实验掌握利用MATLAB 的工具箱实现数字图像的频域处理。
二、 实验原理(一)傅立叶变换傅立叶变换是数字图像处理中应用最广的一种变换,其中图像增强、图像复原 和图像分析与描述等,每一类处理方法都要用到图像变换,尤其是图像的傅立 叶变换。
离散傅立叶(Fourier )变换的定义:二维离散傅立叶变换(DFT )为:逆变换为:式中,在DFT 变换对中, 称为离散信号 的频谱,而 称为幅度谱, 为相位角,功率谱为频谱的平方,它们之间的关系为:图像的傅立叶变换有快速算法。
(二)图像的频域增强常用的图像增强技术可分为基于空域和基于变换域的两类方法。
最常用的变换域是频域空间。
在频域空间,图像的信息表现为不同频率分量的组合。
如果能让某个范围内的分量或某些频率的分量受到抑制而让其他分量不受影响,就可以改变输出图像的频率分布,达到不同的增强目的。
频域增强的工作流程:频域空间的增强方法对应的三个步骤:(1) 将图像f(x,y)从图像空间转换到频域空间,得到F(u,v);(2) 在频域空间中通过不同的滤波函数H(u,v)对图像进行不同的增强,得到G(u,v)(注:不同的滤波器滤除的频率和保留的频率不同,因而可获得不同的增强效果);(3) 将增强后的图像再从频域空间转换到图像空间,得到图像g(x,y)。
),(v u F ),(v u G ),(y x f ∑∑-=-=+-=1010)(2exp ),(1),(M x N y N vy M ux j y x f MN v u F π∑∑-=-=+=101)(2exp ),(1),(M u N v N vy M ux j v u F MN y x f π}1,,1,0{,-∈M x u }1,,1,0{,-∈N y v ),(v u F ),(y x f ),(v u F ),(v u ϕ),(),()],(exp[),(),(v u jI v u R v u j v u F v u F +==ϕ1.低通滤波图像中的边缘和噪声都对应图像傅立叶变换中的高频部分,如要在频域中消弱其影响,设法减弱这部分频率的分量。
频域分析及图像的频域处理
![频域分析及图像的频域处理](https://img.taocdn.com/s3/m/8e842a4a1ed9ad51f01df2da.png)
频域分析及图像的频域处理一.实验目的1.了解离散傅立叶变换及离散余弦变换的基本原理;2.掌握进行FFT 及逆变换的方法;3.了解图像在频域中处理方法,应用MATLAB 语言作简单的低通滤波器。
4.有能力的同学可用VC 实现傅立叶变换二.实验原理1.傅立叶变换的基本知识在图像处理的广泛应用领域中,傅立叶变换起着非常重要的作用,具体表现在包括图像分析、图像增强及图像压缩等方面。
假设f (x,y)是一个离散空间中的二维函数,则该函数的二维傅立叶变换的定义如下:)(21010),(),()],([N vy M ux j M x N y ey x f v u F y x f F +--=-=∑∑==π (2-1)离散傅立叶反变换的定义如下: )(210101),(1),()],([N vy M ux j N v M u e v u F MN y x f v u F F +-=-=-∑∑==π (2-2)式中,式中:u, x=0,1, 2, …, M -1;v, y=0, 1, 2, …, N -1;x, y 为时域变量,u, v像一维离散傅立叶变换一样,系数1/MN 可以在正变换或逆变换中,也可以在正变换和逆变换前分别乘以系数MN /1,只要两式系数的乘积等于1/MN 二维离散函数的傅立叶频谱、 相位谱和能量谱分别为 ),(),(|),(|22v u I v u R v u F += (2-3)),(),(arctan ),(v u R v u I v u =ϕ (2-4) ),(),(),(22v u I v u R v u E += (2-5) 式中,R (u , v )和I (u , v )分别是F (u , v )的实部和虚部。
2.离散余弦变换(Discrete Cosine Transform , DCT )离散余弦变换核为余弦函数。
DCT 除了具有一般的正交变换性质外, 它的变换阵的基向量能很好地描述人类语音信号和图像信号的相关特征。
实验报告4:图像的频域处理
![实验报告4:图像的频域处理](https://img.taocdn.com/s3/m/d812db09c5da50e2524d7f59.png)
实验报告4:图像的频域处理(1)对图像进行DFT:DFT后的输出:DFT所用代码:pic1=fft2(imread('lines.png'));pic2=fft2(imread('rice.tif'));pic11=fftshift(pic1);pic22=fftshift(pic2);Pic1=log(1+abs(pic11));Pic2=log(1+abs(pic22));subplot(1,2,1), imshow(Pic1,[]);title('lin.png');subplot(1,2,2), imshow(Pic2,[]);title('rice.tif');图片中并没有明显的水平和垂直内容,而DFT后却存在水平和垂直分量的原因:原图的边缘出现了明显的不连续,因此进行DFT后会出现强烈的水平和垂直方向分量。
解决方法为在图像中加入汉明窗算法,用来过滤掉图片中的高频部分,并使得图像边缘的不连续情况得到改善,因此加入汉明窗后处理的图像频谱中,水平分量和垂直分量得到了明显的减少。
改进后代码:img=imread('lines.png');img=im2double(img);[h,w]=size(img);window=hamming(h)*hamming(w)';IMG=img.*window;FIMG=fft2(IMG);subplot(1,2,1)imshow(IMG,[]); title('加窗后图像');subplot(1,2,2)imshow(log(1+abs(FIMG)),[]);title('加窗后的频谱图');改进后的频谱图:(2)选取一张灰度图片,并进行操作:原图:效果图:处理过程:A步骤中,函数先对原图像中的f(x,y)进行变换g(x,y)=(-1)^(x+y) x f(x,y),该步骤等同于傅里叶变换中的fftshift,将频域中带宽较低的部分及原点移动到了图像的中心位置。
图像的频域变换
![图像的频域变换](https://img.taocdn.com/s3/m/4733930a647d27284b7351d8.png)
FFT的推导
F ( )
[ Fe ( ) wN Fo ( )]
=
=
[ Fe(2e) ( ) wM Fo(2e) ( )]
=
[ Fe(2o) ( ) wM Fo(2o) ( )]
……
FFT的数据变换规律之一是:
1)可以不断分成奇数项与偶数项之加权和。
FFT算法步骤
对得到的偶数数据项,进行第三层计算有:
F ( 2e) (0), F (eo ) (0) F
( 2e )
F (3e ) (0) F ( 2e ) (0) 80 F ( eo ) (0)
F (3e ) (4) F ( 2e) (0) 80 F ( eo ) (0)
wN exp( j ) wN
F ( M ) Fe ( ) wN Fo ( )
至此,计算量可减少近一半。
FFT的算法原理
首先,将原函数分为奇数项和偶数项,通过不 断的一个奇数一个偶数的相加(减),最终得
到需要的结果。
也就是说FFT是将复杂的运算变成两个数相加
1 MN fT 1列 (fT 1行 (( f x, y)))
f(x,y) 可以看成是一系列周期函数
e
j 2 ( M N )
x
y
的线性组合, F(u,v)可以看成是加权系数。可见 u,v越大的部分,影响f(x,y)细节部分
二维离散Fourier变换 —— 作用
1)可以得出信号在各个频率点上的强度。
FFT算法步骤
对得到的偶数数据项,进行第二层计算有:
F (e0) (0), F (e1) (0), F (e 2) (0), F (e3) (0)
数字图像的频域变换
![数字图像的频域变换](https://img.taocdn.com/s3/m/0f48076c31b765ce0508146b.png)
25
离散余弦变换(3)
原始图像 DCT频谱图
DCT变换频域图上的每个点和空间域的原始图 像的每个象素点具有一一对应关系吗? 像的每个象素点具有一一对应关系吗?
26
小波变换(1)
• Fourier频谱图中的每一个点的值取决于原始 图像中的所有点,因此不具有空间上的局部 分析能力,且在高频低频的分辨率不变
频域变换
-- 将图像从灰度空间变换到其它空间 -- 如通过Fourier变换到频率域 -- 可以用于特征提取、 可以用于特征提取、压缩编码、 压缩编码、提高计算效率等
2
练习
• 编写程序实现图像的旋转
方案一: 方案一:扩大图像尺寸, 扩大图像尺寸, 以保留图像全部内容 方案二: 方案二:保持图像尺寸, 保持图像尺寸, 部分图像内容会丢失
f (r , θ + θ0 ) ⇔ F (ω,ϕ + θ0 )
20
Fourier变换的性质(3)
• 旋转不变性
空间域函数f(x,y) 空间域函数f(x,y)旋转 f(x,y)旋转θ 旋转θ0角度后, 角度后,相应的Fourier 相应的Fourier变换 Fourier变换 F(u,v) F(u,v)在频域中也旋转同一θ 在频域中也旋转同一θ0角,反之, 反之,F(u,v)在频域中 F(u,v)在频域中 旋转θ 旋转θ0角,其反变换f(x,y) 其反变换f(x,y)在空间域中也旋转 f(x,y)在空间域中也旋转θ 在空间域中也旋转θ0角 21
19
– 以Fourier变换的幅值作为特征具有平移不变性
Fourier变换的性质(2)
• 旋转不变性
x = r cos θ y = r sin θ 如果引入极坐标 u = ω cos φ v = ω sin φ
图像的频域变换
![图像的频域变换](https://img.taocdn.com/s3/m/58919d52b207e87101f69e3143323968011cf496.png)
图像的频域变换00傅立叶变换1连续函数的傅立叶变换令f(x)为实变量x的一维连续函数,当f(x)满足狄里赫莱条件,即f(x)具有有限个间断点、具有有限个极值点、绝对可积时,则傅立叶变换对一定存在。
在实际应用中,这些条件基本上都是可以满足的。
2离散函数的傅立叶变换由于连续傅立叶变换在计算机上无法直接使用,计算机只能处理离散数值,为了在计算机上实现傅立叶变换计算,必须把连续函数离散化,即将连续傅立叶变换转化为离散傅立叶变换(DiscreteFourierTransform,简称DFT)。
离散序列的傅立叶变换仍是一个离散的序列,每一个u对应的傅立叶变换结果是所有输入序列f(x)的加权和(每一个f(x)都乘以不同频率的正弦和余弦值),u决定了每个傅立叶变换结果的频率。
3数字图像傅立叶变换的频谱分布和统计特性(1)围绕坐标中心的是低频,向外是高频,频谱由中心向周边放射,而且各行各列的谱对中心点是共轭对称的,利用这个特性,如果在数据存储和传输时,仅存储和传输它们中的一部分,进行逆变换恢复原图像前,按照对称性补充另一部分数据,就可达到数据压缩的目的。
(2)对大多数无明显颗粒噪音的图像来说,低频区集中了85%的能量,这一点成为对图像变换压缩编码的理论根据,如变换后仅传送低频分量的幅值,对高频分量不传送,反变换前再将它们恢复为零值,就可以达到压缩的目的。
(3)图像灰度变化缓慢的区域,对应它变换后的低频分量部分;图像灰度呈阶跃变化的区域,对应变换后的高频分量部分。
除颗粒噪音外,图像细节的边缘、轮廓处都是灰度变化突变区域,它们都具有变换后的高频分量特征。
4小波变换小波变换编码是近年来随着小波变换理论的研究而提出的一种具有很好发展前景的编码方法。
作为一种多分辨率分析方法,由于小波变换具有很好的时-频或空-频局部特性,特别适合按照人类视觉系统特性设计图像压缩编码方案,也非常有利于图像的分层传输。
实验证明,图像的小波变换编码,在压缩比和编码质量方面优于传统的DCT变换编码。
图像频域变换
![图像频域变换](https://img.taocdn.com/s3/m/33cbbb98aeaad1f346933f8a.png)
灰度范围,可以用imshow(I,[])显示。
显示图像傅立叶变换频谱
读取图像 图像矩阵格式转换 快速傅立叶变换到频域(或将零点移到中心) 求幅值,并对幅值做归一化处理
数据格式转换,显示频谱
傅立叶逆变换
傅立叶变换的幅值不变 当频域F(u,v)产生相移时,相应的f(x,y)在空域中也
只发生相移,而幅值不变 结论:如果将图像的频谱原点从起始点(0,0)移到图
像的中心点(N/2,N/2),只要将f(x,y)乘上(-1)x+y进 行傅立叶变换即可
在数字图像处理中,为了清楚分析傅立叶变换情况, 常常需要将F(u,v)的原点移到NXN方阵的中心
连续函数的傅立叶变换
1. 一维连续函数的傅立叶变换
令f(x)为实变量x的连续函数,f(x) 的傅立叶变换用 F(u)表示,则定义式为
F (u) = f (x)e-j 2pux dx -
1)
若已知F(u),则傅立叶反变换为
f ( x) = F (u)e j2pux du -
2)
式(1)和(2)称为傅立叶变换对。 f(x)是原函数; F(u)是f(x)的频谱函数
f (0)
F (0)
=
1 4
3
f (x)e-2πx0/4
=
1 4
3
f (x) =
1 4
[1
x=0
x=0
1
1
1]
f
(1)
= 1/ 2
f (2)
( f (3)
u=1时,
f (0)
数字图像处理——图像频域变换
![数字图像处理——图像频域变换](https://img.taocdn.com/s3/m/4b5f2921eff9aef8941e068a.png)
图像频域变换_离散余弦变换
离散余弦变换的频谱分布
程序:DCTFFT.m DCTspectrum.m
离散余弦变换之后的图像左上角对应于频谱的低频成分,最亮。
图像频域变换_离散余弦变换
离散余弦变换总结
(1)离散余弦变换相对于傅立叶变换而言,只有实数运算,没有复数运算,计 算量大大降低。 (2)离散余弦变换是可分离的变换,其变换核为余弦函数,且正反变换核相同。
u 0 v 0 M 1 N 1
2 x 1 u cos 2 y 1 v
2M 2N 2M 2N
2 x 1 u cos 2 y 1 v
式中:
u, x 0,1, 2, v, y 0,1, 2,
1 M a u 2 M
根据二维离散余弦变换核可以分离性,一般将二维DCT变换可以分成两个一维 DCT变换来完成:
f x, y F行 f x, y F x, v
T T T 转置 F x, v F列 f x, v F u, v 转置 F u, v
f t e j2t dt
j2 t
f t t k T e
dt
f t t k T e j2t dt
f k T e j2 k T
周期为 1 T
图像频域变换_傅里叶变换
f t e j t dt
o
t
F
1
t e j t dt f 0 1
单位冲激串
-
o
sT
sT t
实验三 图像频域变换
![实验三 图像频域变换](https://img.taocdn.com/s3/m/adccb4f3fab069dc502201ae.png)
实验三、图像的频域变换一、 实验目的1了解图像变换的意义和手段;2熟悉傅里叶变换的基本性质;3热练掌握FFT 方法及应用;4通过实验了解二维频谱的分布特点;5通过本实验掌握利用MA TLAB 编程实现数字图像的傅立叶变换及滤波锐化和复原处理;6 了解理想、巴特沃兹、高斯等不同滤波器的结构及滤波效果。
二、 实验原理1应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
2傅立叶(Fourier )变换的定义对于二维信号,二维Fourier 变换定义为:⎰⎰∞∞-∞∞-+-=dy dx e y x f v u F vy ux j )(2),(),(π ⎰⎰∞∞-∞∞-+=dv du e v u F y x f vy ux j )(2),(),(π θθθsin cos j e j += 二维离散傅立叶变换为:1,...,2,1,0,1,...,2,1,0for ),(1),(101)//(2-=-==∑∑-=-=+-N v M u e y x f MN v u F M x N y N vy M ux j π 1,...,2,1,0,1,...,2,1,0for ),(),(1010)//(2-=-==∑∑-=-=+N y M x ev u F y x f M u N v N vy M ux j π图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。
实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。
3利用MA TLAB 软件实现数字图像傅立叶变换的程序:I=imread(‘原图像名.gif ’); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅立叶变换的实部II=imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.^2+II.^2);%计算频谱幅值A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225;%归一化figure; %设定窗口imshow(A); %显示原图像的频谱三、实验内容(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。
实验二 图像的频域变换处理
![实验二 图像的频域变换处理](https://img.taocdn.com/s3/m/83bc8de7998fcc22bcd10dae.png)
实验二图像的频域变换处理一、实验目的:1、掌握Fourier,DCT和Radon变换、反变换的算法实现,并初步理解Fourier、Radon 和DCT变换的物理意义。
2、利用傅里叶变换、离散余弦变换处理图像。
二、实验要求:1.用Fourier、Radon和DCT变换算法对图像作二维Fourier、Radon和DCT变换,并输出变换结果,分析图像频域和空域之间的关系。
2.用Fourier、Radon和DCT反变换算法对图像作二维Fourier、Radon和DCT反变换。
3.分别选择频域低通、高通滤波器对同一幅图像进行滤波,观察分析滤波后的图像变化特征。
三、实验步骤:1.用Fourier、Radon和DCT变换算法,对图像作二维Fourier、Radon和DCT变换和反变换(考虑图像为256*256,可以采用快速Fourier变换方法),并比较反变换后的图像与原图像的视觉效果;2.用DCT变换实现图像的压缩,计算压缩比。
3.利用高斯滤波器对图像进行滤波处理后输出。
实验方法:设计matlab程序,在计算机中处理图像,输出结果。
1.设计程序生成一幅图像图像,利用函数F=fft2(‘name’,m,n)对图像进行傅里叶变换。
利用函数imshow(log(abs(F),[ ] )输出图像的幅频特性,2.利用函数F=ifft2(‘name’)完成傅里叶反变换。
3.利用函数B=dct2(‘name’,[m,n])对图像进行离散余弦变换。
利用函数imshow(log(abs(B),[ ] )输出图像的幅频特性,4.利用函数B=idct2(‘name’)完成傅里叶反变换。
5.利用dct变换对图像进行压缩处理,计算压缩前后的图像大小。
实验要求:1、进实验室前必须设计好程序。
2、认真调试,记录结果。
3、实验报告必须有实验结论分析。
实验设备:MATLAB实验环境,图像输入输出设备,图像处理设备。
实验结果;I=imread('E:\qiaole.jpg');A=rgb2gray(I);subplot(1,2,1),imshow(A);xlabel('原图');B=dct2(A);subplot(1,2,2),imshow(log(abs(B)),[0 5]);xlabel('二维离散余弦变换');I=imread('E:\qiaole.jpg');subplot(1,3,1);imshow(I); xlabel('原图');fftI=fft2(I);subplot(1,3,2);imshow(fftI); xlabel('FFT变换'); sfftI=fftshift(fftI);subplot(1,3,3);imshow(sfftI); xlabel('中心化');I=imread('E:\qiaole.jpg');A=rgb2gray(I);subplot(1,3,1),imshow(A);xlabel('原图');B=dct2(A);subplot(1,3,2),imshow(log(abs(B)),[0 5]); xlabel('二维离散变换');I=idct2(B)/200;subplot(1,3,3),imshow(I);xlabel('反变换');l=imread('E:\qiaole.jpg');f=double(l);g=fft2(f);g=fftshift(g);[M,N]=size(g);d0=1530100;m=fix(M/2);n=fix(N/2);for i=1:Mfor j=1:Md=sqrt((i-m)^2+(j-n)^2);if(d<=d0);h=1;else h=0;endresult(i,j)=h*g(i,j);endendresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1)); imshow(J2)title('理想低通滤波')l=imread('E:\qiaole.jpg'); f=double(l);g=fft2(f); [M,N]=size(g);d0=80;m=fix(M/2);n=fix(N/2); for i=1:Mfor j=1:Md=sqrt((i-m)^2+(j-n)^2); if(d>=d0);h=1;else h=0;endresult(i,j)=h*g(i,j);end endresult=ifftshift(result);J1=ifft2(result);J2=uint8(real(J1)); figure(1)imshow(J2)title('理想高通滤波')实验总结:调试该程序的时候出了不少错,subplot(1,2,2),imshow(log(abs(B)),[0 5]);在这一句中由于的我粗心把subplot写成了subpolt,结果程序运行出错,经过我的查找找到错误并改正后程序运行正确,并得出我目标图。
图像处理课件05频域变换.ppt
![图像处理课件05频域变换.ppt](https://img.taocdn.com/s3/m/2fdaeaa0f242336c1fb95ec0.png)
连续傅里叶变换是把一组函数映射为另一组函数的线性算子 ,即傅里叶变换把一个函数分解为组成该函数的连续频率谱 。
傅里叶变换能将满足一定条件的某个函数表示成三角函数( 正弦或余弦)和的形式或者它们的积分的线性组合。
傅里叶变换在数学中的定义是: 如果函数满足下面的狄里赫莱条件:(1)具有有限个间断
幅值、相位和能量分别为:
幅值:
1
F (u) R 2 (u) I 2 (u) 2
相位:
(u) arctan(I (u) / R(u))
能量:
E(u) R 2 (u) I 2 (u)
离散函数的傅里叶变换也可推广到二维的情形,其二维离 散傅里叶变换定义为:
: F (u,v)
N 1
:
F (u)
1 N
f (x)e j2ux / N
x0
u 0,1,2,N 1。
F(u)一维的离散傅里叶反变换为:
1 :
f (x)
1
N 1
F (u)e j2ux / N
N u0
傅里叶变换F(u)复数形式:
F(u)的实部为R(u),虚部为I (u) F(u) R(u) jI(u)
的幅值最大。 对(c)傅里叶变换后中心移到零点后的结果,我们可以发现当
长方形旋转了 45o 时,频谱也跟着旋转 45o,此实例验证了傅 里叶变换的旋转性。
二维离散傅里叶变换结果中频率成分分布示意图
对中心为一小正方形和斜长方形求其傅里叶变换的谱分布
(a)正方形原图 (b)正方形的谱分布(c)长方形的原始图像(d)长方形的谱分布
傅里叶变换谱分布实例
左边均为原始图像,右边分别是他们变换后的谱分布。 图(a)是中心为一小正方形,周边为空; 图(c)是中心为斜置的小矩形。谱分布中,最亮区域表示其变换后
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二图像频域变换
一.实验目的
了解图像频域变换的意义和方法,熟悉离散傅立叶变换、离散余弦变换等变换的基本性质。
通过实验了解二维频谱的分布特点,掌握使用MATLAB 编程实现
数字图像变换的方法。
二.预习
1.预习实验内容,阅读教材熟悉实验原理;
2.查阅资料,熟悉MATLAB的操作环境和基本功能。
熟悉实验中涉及的有关函数。
三. 实验仪器及软件
计算机、MATLAB软件。
四.实验原理和内容
4.1. 图像的二维离散傅立叶变换
MATLAB 提供了fft 函数、fft2 函数和fftn 函数分别用于进行一维DFT、二维DFT 和n维DFT 的快速傅立叶变换, ifft 函数、ifft2 函数和ifftn 函数分别用于进行一维DFT、二维DFT和n 维DFT 的快速傅立叶反变换。
快速傅立叶变换的算法思想:
(1)首先将原图像进行转置;
(2)按行对转置后的图像矩阵做一维FFT,将变换后的中间矩阵再转置;
(3)对转置后的中间矩阵做一维FFT,最后得到的就是二维FFT。
相应函数:
1. fft2 函数
计算二维快速傅立叶变换,语法格式为:
B=fft2(I)
B=fft2(I,m,n), 通过对图像I 剪切或补零,按用户指定的点数计算fft。
2. fftn 函数
计算n维fft,语法格式同fft2
3. fftshift 函数
将变换后的图像频谱移到中心。
语法格式为:
B=fftshift(I)
4. ifft2 函数
计算二维傅立叶反变换,语法格式同fft2。
5. ifftn 函数
计算n维傅立叶反变换。
实验1. 对给定的一幅图像进行傅立叶变换,显示无平移的DFT 和原点移到中心的DFT。
%建立简单图像d并显示之
d = zeros(64,64); %图像大小64?64
d(26:41,26:41) =1; %中心白色方块大小为16x16
figure(1); %建立图形窗口1
imshow(d); %显示图像d如图3.5(a)所示
%计算傅里叶变换并显示之
D = fft2(d); %计算图像d的傅里叶变换,fft2(d) = fft(fft(d).').'
figure(2); %建立图形窗口2
imshow(abs(D),[]); %显示图像d的傅里叶变换谱
Dc = fftshift(D);
figure(3);
imshow(abs(Dc),[]); %中心后结果
figure(4);
imshow(log(1+ abs(Dc)), []) %增强后观察fft
%逆变换
iF =ifft2(D);
figure(6), imshow(real(iF),[])
读入一副复杂图像,如:d = imread('rose_512.tif'),显然其fft结果; 这里图像名可以是matlab自带的例图(..\toolbox\images 目录下的),也可以是其它灰度图像,如是彩色图像,用rgb2gray转为灰度图像。
实验2. 已知一个1000×1000 二值图像,中间为一个50×30 的白色区域,其它为黑色,研究图像的DFT 的平移和旋转特性。
%实现图像平移特性代码
f=zeros(1000,1000);
f(350:649,475:524)=1;
subplot(2,2,1);imshow(f,'notruesize'); %图像定义
title('原始图像');
F=fftshift(abs(fft2(f)));
subplot(2,2,2);imshow(F,[-1,5],'notruesize');
title('原始图像的傅里叶变换频谱');
f=zeros(1000,1000);
f(350:649,800:849)=1;
subplot(2,2,3);imshow(f,'notruesize');
title('X轴方向移到后的图像');
F=fftshift(abs(fft2(f)));
subplot(2,2,4);imshow(F,[-1,5],'notruesize');
title('X轴方向移动后的傅里叶变换频谱');
%实现图像旋转特性代码
f=zeros(1000,1000);
f(350:649,475:524)=1;
subplot(2,2,1);imshow(f,'notruesize'); %图像定义
title('原始图像');
F=fftshift(abs(fft2(f)));
subplot(2,2,2);imshow(F,[-1,5],'notruesize');
title('原始图像的傅里叶变换频谱');
f=zeros(1000,1000);
f(350:649,475:524)=1;
f=imrotate(f,45,'bilinear','crop'); %以图像中心为原点旋转45°
subplot(2,2,3);imshow(f,'notruesize');
title('图像正向旋转45°');
F=fftshift(abs(fft2(f)));
subplot(2,2,4);imshow(F,[-1,5],'notruesize');
title('图像旋转45°后的傅里叶变换频谱');
通过MATLAB程序研究图像二维DFT变换的平移特性和旋转特性。
4.2. 图像的二维离散余弦变换
离散余弦变换(DCT)的变换核为余弦函数,计算速度快,有利于图像压缩和其他处理。
在大多数情况下,DCT 主要用于图像的压缩操作中,静态图像压缩标准JPEG就是采用的DCT 变换。
MATLAB提供了dct2实现图像的DCT。
dct2方法是基于FFT算法来实现较大输入的快速计算方法。
MATLAB提供了idct2实现二维图像的逆余弦变换。
1. dct2 函数
实现图像的二维离散余弦变换,语法格式为:
B=dct2(A) 返回图像A 的二维离散余弦变换值,其大小与A相同,且各元素为离散余弦变换的系数F(k1,k2)。
B=dct2(A,m,n)
B=dct2(A,[m n])其功能是:在对图像A进行二维离散余弦变换之前,先将图像A补零至m×n。
如果m和n 比图像A小,则进行变换之前,将图像A剪切。
2. idct2 函数
实现图像的二维离散余弦变换的反变换,语法格式为:
B=idct2(A)
B=idct2(A,m,n)
B=idct2(A,[m n])
3. dctmtx 函数
该函数用于计算二维离散余弦变换矩阵,其语法格式为:
D=dctmtx(n), 返回n×n 的DCT 变换矩阵。
实验3 例图的离散余弦变换及逆变换重建
clear all, close all
f=imread('cameraman.tif'); %读cameraman.tif
imshow(f);
F=dct2(f); %做余弦变换
AbsFT=abs(F);
figure, imshow(log(AbsFT));
FinvT=idct2(F); %做余弦反变换
figure, imshow(mat2gray(FinvT));
%仅保留余弦变换频谱的左上角50*50个数据,然后做反变换,观察输出图像 F1=F;
[m,n]=size(F1);
F1(50:m,50:n)=0;
AbsFT=abs(F1);
figure, imshow(log(AbsFT));
FinvT=idct2(F1); %做余弦反变换
figure, imshow(mat2gray(FinvT));
五. 实验报告内容
1.简述试验目的和试验原理;
2.叙述各段程序功能,了解个函数功能,分析比较实验结果;
3.写出本试验的心得体会和意见。