实验二 图像的频域变换

合集下载

数字图像处理第十章 图像的频域变换55页

数字图像处理第十章 图像的频域变换55页

本章ቤተ መጻሕፍቲ ባይዱ论的内容
二维离散傅立叶变换 快速傅立叶变换 二维离散傅立叶变换的应用 离散余弦变换
作 业(共1题)
1. 第230页 第1题。
谢谢你的阅读
❖ 知识就是财富 ❖ 丰富你的人生
问题的提出
人类视觉所感受到的是在空间域和时间域的 信号。
但是,往往许多问题在频域中讨论时,有其 非常方便分析的一面。例如,空间位置上的 变化不改变信号的频域特性。
图像变换的前提条件
首先,提出的变换必须是有好处的,换句话 说,可以解决时域中解决不了的问题。
其次,变换必须是可逆的,可以通过逆变换 还原回原时域中。

数字图像处理实验二:图像的频域处理

数字图像处理实验二:图像的频域处理

实验二、图像的频域处理一、实验类型:综合性实验二、实验目的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 填充。

实验二 图像变换及频域滤波

实验二 图像变换及频域滤波

实验二 图像变换及频域滤波一.实验目的(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)语句。

【第三讲】图像的频域变换

【第三讲】图像的频域变换
2.离散余弦变换
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)
教学后记(此项内容在课程结束后填写):

实验二 图像变换

实验二 图像变换

实验二图像变换
一、实验内容
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轴上的平移,所得傅里叶频谱与原图像
的傅里叶频谱有什么变换?。

数字图像处理_图像的频域变换处理

数字图像处理_图像的频域变换处理

图像的频域变换处理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 进行小波分解。

实验五--图像频域变换

实验五--图像频域变换

实验五图像频域变换一、实验目的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)绘制一个二值图像矩阵,并将其傅里叶函数可视化。

数字图像处理图像变换与频域处理

数字图像处理图像变换与频域处理

南京信息工程大学 计算机图像处理 实验(实习)报告 实验(实习)名称 图像变换与频域处理 实验(实习)日期 得分 指导老师 系 专业 班级 姓名 学号一、 实验目的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.低通滤波图像中的边缘和噪声都对应图像傅立叶变换中的高频部分,如要在频域中消弱其影响,设法减弱这部分频率的分量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.写出本试验的心得体会和意见。

相关文档
最新文档