实验五 图像频域变换
- 格式:doc
- 大小:43.00 KB
- 文档页数:3
实验五 图像的频域增强一、实验目的1、了解图像滤波的基本定义及目的;2、了解频域滤波的基本原理及方法;3、掌握用MA TLAB 语言进行图像的频域滤波的方法。
二、实验原理1、低通滤波一般来说,图像的边缘和噪声都对应于傅立叶变换中的高频部分,所以能够 让低频信号畅通无阻而同时滤掉高频分量的低通滤波器能够平滑图像,去除噪声.常用的几种有,理想的低通滤波器,巴特沃斯低通滤波器,指数滤波器等.传递函数形式如下所示.理想的低通滤波器:001(,)(,)0(,)D u v D H u v D u v D ≤⎧=⎨>⎩巴特沃斯低通滤波器201(,)1[(,)/]n H u v D u v D =+ 指数滤波器 0[(,)/](,)n D u v D H u v e -=(,)D u v 表示(,)u v 到原点的距离,0D 表示截止频率点到原点的距离。
傅立叶变换的主要能量集中在频谱的中心,合理的选择截止频率对保留图象的能量至关重要。
理想的低通滤波后的图象将会出现一种“振铃”特性,造成图象不同程度的模糊,0D 越小,模糊的程度越明显。
造成这种模糊的原因在于理想的低通滤波器的传递函数在0D 处有1突变为0,经傅立叶反变换后在空域中表现为同心圆的形式。
2、高通滤波与图像中灰度发生骤变的部分与其频谱的高频分量相对应,所以采用高通滤波器衰减或抑制低频分量,是高频分量畅通并对图象进行锐化处理。
常用的高通滤波器有理想的高通滤波器、巴特沃斯高滤波器,指数高通滤波等。
传递函数如下。
理的高通滤波器:001(,)(,)0(,)D u v D H u v D u v D ≥⎧=⎨<⎩巴特沃斯低通滤波器201(,)1[/(,)]nH u v D D u v =+指数滤波器0[/(,)](,)nD D u v H u v e -=由于经过高通滤波后图像丢失了许多低频信息,所以图像平滑区基本会消失。
为此,需要采用高频加强滤波来弥补。
图像的频域变换处理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 进行小波分解。
实验报告五姓名:学号:班级:实验日期: 2016.5.13 实验成绩:实验题目:图像变换技术一.实验目的(1)熟练掌握图像的快速傅里叶变换及其逆变换。
(2)熟练掌握图像的radon变换及其逆变换。
二.实验原理在空间域对原图像旋转theta角度的时候,对应其频域频谱函数角度也旋转theta角度,也就是说频域上其幅度谱不变。
图像投影,就是说将图像在某一方向上做线性积分(或理解为累加求和)。
如果将图像看成二维函数f(x, y),则其投影就是在特定方向上的线性积分,比如f(x, y)在垂直方向上的线性积分就是其在x轴上的投影;f(x, y)在水平方向上的线积分就是其在y轴上的投影,这就是雷登变换。
通过这些投影,可以获取图像在指定方向上的突出特性,而这些具有特征的数据包含了原图像的信息,通过一定的反投影来又可以重建图像。
三.实验内容及结果(1)任意选择一副图像,对图像进行旋转,显示原始图像和旋转后的图像,分别对其进行傅里叶变换,分析原图的傅里叶频谱与旋转后的傅里叶频谱的对应关系。
图 1 图像的旋转及傅里叶谱(2)选择一副图像boy.jpg,使用radon函数和iradon函数构建一个简单图像的投影并重建图像。
图2Modified Shepp-Logan头模型图3 变量工作区图 4 代表每个投影点的位置信息变量xp 部分值图5原图像不同角度投影的正弦图(雷登变换)图 6 滤波反投影法重建图像(滤波函数为汉明窗)图7 直接反投影法重建图像四.结果分析(1)观察图一,可以发现,原图像进行90度的旋转后,其旋转变换后的傅里叶幅度谱并没有改变,印证了空间域的旋转定理,即在空间域对原图像旋转theta角度的时候,对应其频域频谱函数角度也旋转theta角度。
(2)观察图3工作变量区,雷登变换radon中的返回变量[R,xp]中xp 此列向量大小为729,而xp代表每个投影点的位置信息变量,点进xp可以得到图4,看到其值从-364按照步长为1递增到364,这个不难理解,因为每按一个角度投影,数据不是一个,而是一列,它们按照一条线排布,步长为1恒定表示每个点是等距的,而且从xp 值对称可以看出这个相对点是原点,R是一个二维矩阵,由于投影角度的个数不同,所以列的大小取决于投影角度的设定,观察图5设定的不同角度的正弦图,可以发现当投影角度个数过小时,正弦图会块状效应,这是因为取样率不够的原因,取样率大小不仅取决于所用射线个数(这里每个投影的取样数均保持为729),还旋转角度增量的数量(这里分别为18,36,90,180),当欠取样时就会发生块状效应,所以由R和角度投影个数信息重建图像,会发现角度增量数量越多,重建的图像就和原图像越相似,但同时观察图6和图7又会发现滤波反投影比直接反投影降低了图像的模糊度。
实验五图像频域变换一、实验目的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)绘制一个二值图像矩阵,并将其傅里叶函数可视化。
数学与软件科学学院实验报告
学期:13至14 第_2学期 2014年4月 13日
课程名称:数字信号处理专业:信息与计算机科学
实验编号:5 实验项目:
指导教师姓名:
学号:实验成绩: A
实验五用Z变换分析系统的频域特性
一、实验目的
(1) 了解LTI因果系统的定义;
(2) 通过Z变换求LTI因果系统的频域特性。
二、实验内容
已知LTI因果系统,y(n)-0.8y(n-1)=x(n), 求H(Z),画出其极零点分布图,幅频、相频特性曲线。
三、实验准备
安装MATLAB的计算机系统。
四、实验步骤及结果
已知LTI因果系统,y(n)-0.8y(n-1)=x(n), 求H(Z),画出其极零点分布图,幅频、相频特性曲线。
B=1;
A=[1 -0.8];
subplot(2,2,1)
zplane(B,A)
title(零极点分布图);
[H,w]=freqz(B,A)
subplot(2,2,2)
plot(w/pi,abs(H));
xlabel('\omega/\pi');
ylabel('|H(e^j^\omega)|');
title('幅频特性曲线');
subplot(2,2,3)
plot(w/pi,angle(H))
xlabel('\omega/\pi');
ylabel('phi(\omega)');
title('相频特性曲线');。
南京信息工程大学计算机图像处理实验(实习)报告实验(实习)名称图像变换与频域处理 实验(实习)日期 ________________ 得分_抬导老师 ____________系 ________________ 号业 _______________ 班级 _______ 姓名 _____________ 学号 ________________—、实验目的1. 了解离散傅里叶变换的基本性质:2. 熟练掌握图像傅里叶变换的方法及应用;3. 通过实验了解二维频谱的分布特点;4. 熟悉图像频域处理的意义和手段:5. 通过本实验掌握利用MATLAB 的工具箱实现数字图像的频域处理。
二、实验原理(一)傅立叶变换傅立叶变换是数字图像处理中应用最广的一种变换,其中图像增强、图像复原 和图像分析与描述等,每一类处理方法都要用到图像变换,尤其是图像的傅立 叶变换。
离散傅立叶(Fourier)变换的左义:二维离散傅立叶变换(DFT)为:/(如 y)=式中,“,xe{0,l,…,M —1} v,ye(0,l,- -,A^-l)在DFT 变换对中,F(w,v)称为离散信号/(x,y)的频谱,而『,训称为幅度谱,血s) 为相位角,功率谱为频谱的平方,它们之间的关系为:F (“, v) =|F(w,v)| exp[;Xw,v)] = R(u,v)+jl(u,v)图像的傅立叶变换有快速算法。
(二)图像的频域增强常用的图像增强技术可分为基于空域和基于变换域的两类方法。
最常用的变换域是频域 空间。
在频域空间,图像的信息表现为不同频率分量的组合。
如果能让某个范囤内的分量或 某些频率的分量受到抑制而让其他分量不受影响,就可以改变输出图像的频率分布,达到不 同的增强目的。
频域增强的工作流程:频域空间的增强方法对应的三个步骤:⑴ 将图像f(x,y)从图像空间转换到频域空间,得到F(u,v):⑵ 在频域空间中通过不同的滤波函数H(gv)对图像进行不同的增强,得到G(u,v)(注:F(w,v) =逆变换为:A/-LV-1-门凤竺+空)为为/G ,刃exp"亦 x=0 y=0 k 傅立叶变换F(K ,V ) 滤波器 G(K ,V ) 傅立叶反变换不同的滤波器滤除的频率和保留的频率不同,因而可获得不同的增强效果):(3)将增强后的图像再从频域空间转换到图像空间,得到图像g(x.y)01.低通滤波图像中的边缘和噪声都对应图像傅立叶变换中的髙频部分,如要在频域中消弱其影响,设法减弱这部分频率的分呈:。
实验报告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,将频域中带宽较低的部分及原点移动到了图像的中心位置。
变换域分析实验报告实验目的本实验的目的是通过变换域分析的方法,研究图像在频率域和空间域的变化规律,理解图像处理中的频域操作原理和应用。
实验原理在图像处理中,频域操作是对图像的傅里叶变换进行处理,在频域进行滤波、增强等操作,然后通过逆傅里叶变换将图像恢复到空间域。
频域操作的原理是基于图像是由不同频率的分量叠加而成的,通过对频域进行操作,可以改变图像的频率分量,实现滤波、增强等效果。
实验步骤1. 图像读取首先,我们从设备中读取一张图像作为实验对象,将图像存储在内存中供后续处理使用。
2. 图像傅里叶变换接下来,我们对读取的图像进行傅里叶变换,将图像从空间域转换到频率域。
傅里叶变换可以通过快速傅里叶变换(FFT)算法来实现,可以得到图像在频域的表示。
3. 频率域滤波在频域中,我们可以对图像进行滤波操作,通过滤波器控制图像的频率分量,实现图像的去噪、边缘增强等效果。
在本实验中,我们选择了一个标准的低通滤波器,将高频分量滤除。
4. 图像逆傅里叶变换经过频域滤波操作后,我们需要将图像从频域恢复到空间域。
通过对傅里叶变换结果进行逆变换(IFFT),可以得到滤波后的图像。
5. 图像展示和对比分析最后,我们将原始图像、频域滤波后的图像进行展示,并对比分析两张图像的差异,分析频域操作对图像的影响。
实验结果实验结果如下所示:原始图像滤波后图像- - 从实验结果中可以看出,在频域滤波后,图像的细节部分得到了一定的抑制,噪声也被削弱。
图像整体看起来更加平滑,轮廓也更加清晰。
实验总结通过本次实验,我们深入理解了图像处理中的频域操作原理和方法。
通过对图像进行傅里叶变换和逆傅里叶变换,我们可以掌握频域滤波等操作的基本原理和实现方法。
此外,在实际应用中,我们还可以根据需要选择不同的滤波器和参数,实现更加灵活的图像处理效果。
参考资料1. Gonzales, R. C., and Woods, R. E. (2008). Digital Image Processing (3rd ed.). Pearson Education, Inc.2. Pratt, W. K. (2007). Digital Image Processing (4th ed.). John Wiley & Sons, Inc.。
试验5 图像频域增强一.试验目的通过本实验使学生掌握使用MATLAB的二维傅里叶变换进行频域增强的方法。
二.试验内容(一)dftuv函数:function [U,V]=dftuv(M,N)u=0:(M-1);v=0:(N-1);idx=find(u>M/2);u(idx)=u(idx)-M;idy=find(v>N/2);u(idy)=v(idy)-N;[V,U]=meshgrid(v,u);低通滤波器函数:function [H,D]=lpfilter(type,M,N,D0,n)[U,V]=dftuv(M,N);D=sqrt(U.^2+V.^2);switch typecase'ideal'H=double(D<=D0);case'btw'if nargin==4n=1;endH=1./(1+(D./D0).^(2*n));case'gaussian'H=exp(-(D.^2)./(2*(D0^2)));otherwiseerror('Unknown filter type')end教材程序:%====================¶ÁÈëÔ-ͼÏñ====================================== lena=imread('d:\test_images\lena_gray_1.tif','tif');figure(1);subplot(1,2,1);imshow(lena);title('origin');size(lena);%===ÁãÑÓÍØ===lena_B=padarray(lena,[512,512],'post');%0 padd fp 2subplot(1,2,2);imshow(lena_B);title('lena_B');%====°áÒÆ====for i=1:1024for j=1:1024lena_B_2(i,j)=(-1).^(i+j).*lena_B(i,j);endendfigure(2);subplot(1,2,1);imshow(lena_B_2);title('banyi');S=abs(fft2(lena_B));%δ°áÒÆµÄƵÆ×Fc_lena=fftshift(fft2(lena_B));subplot(1,2,2);imshow(abs(Fc_lena),[]);title('Spectum lena');%4[H1,D1]=lpfilter('gaussian',1024,1024,50,1);F=fft2(lena_B,size(H1,1),size(H1,2));G=real(ifft2(H1.*F));Gf=G(1:size(lena_B,1),1:size(lena_B,2));figure(3);subplot(1,2,1);imshow(uint8(Gf));title('δ²Ã¼ôµÄͼÏñ'); Gf1=G(1:size(lena,1),1:size(lena,2));subplot(1,2,2);imshow(uint8(Gf1));;title('»Ö¸´µÄͼÏñ');origin lenaBbanyi Spectum lena未裁剪的图像恢复的图像(二)频域低通滤波器(白条)f1=zeros(64,64);f1(12:52,24:40)=255;subplot(1,3,1);imshow(f1);title('origin');F1=padarray(f1,[64,64],'post');%==理想滤波器=======H=lpfilter('ideal',128,128,60);F=fft2(F1,size(H,1),size(H,2));G=real(ifft2(H.*F));GF=G(1:size(f1,1),1:size(f1,2));subplot(1,3,2);imshow(GF);title('ideallp');%==巴特沃斯滤波器===========[H1,D1]=lpfilter('btw',128,128,70);F1=fft2(F1,size(H1,1),size(H1,2));G1=real(ifft2(H1.*F1));GF1=G1(1:size(f1,1),1:size(f1,2));subplot(1,3,3);imshow(GF1);title('btwlp');origin ideallp btwlp频域低通滤波器(lena)lena_gray=imread('lena_gray.tif','tif');lena_gauss=imnoise(lena_gray,'gauss',0.03);subplot(1,3,1);imshow(lena_gauss);title('origin');LENA=padarray(lena_gauss,[512,512],'post');%==理想滤波器=========H=lpfilter('ideal',1024,1024,80);F=fft2(LENA,size(H,1),size(H,2));G=real(ifft2(H.*F));GF=G(1:size(lena_gauss,1),1:size(lena_gauss,2));subplot(1,3,2);imshow(uint8(GF));title('ideallp');%==巴特沃斯滤波器=======H1=lpfilter('btw',1024,1024,100);F1=fft2(LENA,size(H1,1),size(H1,2));G1=real(ifft2(H1.*F1));GF1=G1(1:size(lena_gauss,1),1:size(lena_gauss,2));subplot(1,3,3);imshow(uint8(GF1));title('btwlp');origin ideallp btwlp(3)低通滤波器函数:function [H,D]=hpfilter(type,M,N,D0,n)[U,V]=dftuv(M,N);D=sqrt(U.^2+V.^2);switch typecase'ideal'H=double(D>=D0);case'btw'if nargin==4n=1;endH=1-1./(1+(D./D0).^(2*n));case'gaussian'H=1-exp(-(D.^2)./(2*(D0^2)));otherwiseerror('Unknow filter type')end频域低通滤波器(白条)f1=zeros(64,64);f1(12:52,24:40)=255;subplot(1,3,1);imshow(f1);title('origin');F1=padarray(f1,[64,64],'post');%==理想滤波器=========H=hpfilter('ideal',128,128,50);F=fft2(F1,size(H,1),size(H,2));G=real(ifft2(H.*F));GF=G(1:size(f1,1),1:size(f1,2));subplot(1,3,2);imshow(GF);title('ideallp'); %==巴特沃斯滤波器=============[H0,D]=hpfilter('btw',128,128,50);F0=fft2(F1,size(H0,1),size(H0,2));G0=real(ifft2(H0.*F0));GF0=G0(1:size(f1,1),1:size(f1,2));subplot(1,3,3);imshow(GF0);title('btwlp');origin ideallp btwlp频域低通滤波器(lena)lena_gray=imread('lena_gray.tif','tif');lena_gauss=imnoise(lena_gray,'gauss',0.02);subplot(1,3,1);imshow(lena_gauss);title('origin');LENA=padarray(lena_gauss,[512,512],'post');%==H=hpfilter('ideal',1024,1024,150);F=fft2(LENA,size(H,1),size(H,2));G=real(ifft2(H.*F));GF=G(1:size(lena_gauss,1),1:size(lena_gauss,2));subplot(1,3,2);imshow(uint8(GF));title('ideallp');%==H0=hpfilter('btw',1024,1024,50);F0=fft2(LENA,size(H0,1),size(H0,2));G0=real(ifft2(H0.*F0));GF0=G0(1:size(lena_gauss,1),1:size(lena_gauss,2));subplot(1,3,3);imshow(uint8(GF0));title('btwlp');origin ideallp btwlp三.思考理想低通滤波器会产生振铃现象,巴特沃斯不会,但高阶的滤波器会产生振铃;低通滤波器会保留大部分信息,即低频成分,而高通滤波器会滤掉低频成分,剩下图像的大体形状。
实验5 图像频域增强一、实验目的通过本实验使学生掌握使用MATLAB的二维傅里叶变换进行频域增强的方法。
二、实验原理本实验是基于数字图像处理课程中的图像频域增强理论来设计的。
本实验的准备知识:第四章频域图像增强中的一维傅里叶变换和二维傅里叶变换,频域图像增强的步骤,频域滤波器。
根据教材285页到320页的内容,开展本实验。
可能用到的函数:1、延拓函数padarray例:A=[1,2;3,4];B=padarray(A,[2,3],’post’);则结果为B =1 2 0 0 03 4 0 0 00 0 0 0 00 0 0 0 0使用该函数实现图像的0延拓。
Padarray还有其它用法,请用help查询。
2、低通滤波器生成函数首先编写dftuv函数,如下function [U,V]=dftuv(M,N)%DFTUV Computes meshgrid frequency matrices.% [U,V]=DFTUV(M,N] computes meshgrid frequency matrices U and V. Uand V are useful for computing frequency-domain filter functions thatcan be used with DFTFILT. U and V are both M-by-N.% Set up range of variables.u=0:(M-1);v=0:(N-1);% Compute the indices for use in meshgrid.idx=find(u>M/2);u(idx)=u(idx)-M;idy=find(v>N/2);v(idy)=v(idy)-N;%Compute the meshgrid arrays.[V,U]=meshgrid(v,u);然后编写低通滤波器函数function [H,D]=lpfilter(type,M,N,D0,n)% LPFILTER computers frequency domain lowpass filters.% H=lpfilter(TYPE,M,N,D0,n) creates the transfer function of a lowpassfilter, H, of the specified TYPE and size(M-by-N). To view the filter asan image or mesh plot, it should be centered using H=fftshift(H).% valid values for TYPE, D0, and n are:% 'ideal' Ideal lowpass filter with cutoff frequency D0. n need notbe supplied. D0 must be positive.% 'btw' Butterworth lowpass filter of ordern, and cutoff D0. Thedefault value for n is 1. D0 must be positive.% 'gaussian' Gaussian lowpass filter with cutoff (standard deviation)D0.n need not be supplied. D0 must be positive.%Use function dftuv to set up the meshgrid arrays needed for computingthe required distances.[U,V]=dftuv(M,N); %D=sqrt(U.^2+V.^2); % Compute the distances D(U,V)% Begin filter computations.switch typecase 'ideal'H=double(D<=D0);case 'btw'if nargin==4n=1;endH=1./(1+(D./D0).^(2*n));case 'gaussian'H=exp(-(D.^2)./(2*(D0^2)));otherwiseerror('Unknown filter type')end通过调用函数lpfilter可生成相应的滤波器掩膜矩阵。
频域图像增强学习目标:(1)理解图像频域滤波增强技术的原理及方法。
(2)熟练掌握频域滤波增强的各类滤波器的原理和方法,并使用MATLAB的图像处理工具箱,编写MATLAB程序进行基于傅里叶变换的频域滤波增强处理。
图像的增强技术除了基于空域的图像增强技术,还有基于变换域的增强技术。
最常用的变换域是频域空间。
在频域空间,图像的信息表现为不同频率分量的组合。
如果能让某个范围内的分量或某些频率的分量收到抑制而让其他分量不受影响,就可以改变输出图像的频率分布,达到不同的增强目的。
频域图像增强的基本思想是将图像转换到频域中进行滤波,之后再逆变换到空域中得到结果图像。
设G(u,v)=F(u,v)H(u,v)其中F(u,v)是原图像f(x,y)的傅里叶变换形式;H(u,v)是选取的一个滤波器变换函数或滤波器;G(u,v)是通过H(u,v)得出的结果图像的傅里叶变换形式,最终G(u,v)经傅里叶逆变换得到频域滤波之后的结果图像g(x,y)。
频域图像增强的流程图如图1所示:图 1 频域图像增强的流程图因此频域图像增强方法对应如下三个步骤:(1)将图像f(x,y)从图像空间转换到频域空间,得到F(u,v)。
(2)在频域空间中通过不同的滤波器变换函数H(u,v)对图像进行不同的增强,得到G (u,v)。
不同的滤波器滤除的频率和保留的频率不同,因而可获得不同的增强效果。
(3)将增强后的图像再从频域空间转换到图像空间,得到图像g(x,y)。
根据图像及傅里叶变换的物理意义可知,图像高频分量是指图像灰度的突变部分,在某些情况下指图像边缘信息,某些情况下指噪声,更多是两者的混合;低频分量是指图像变化平缓的部分,也就是图像背景/区域信息。
当选择滤波器变换函数H(u,v)图像的高频分量抑制、低频分量通过时,该滤波器为低通滤波器,反之则为高通滤波器。
若H(u,v)使图像在某一部分的频率信息通过,其他过低或过高部分抑制,则称为带阻滤波器或带通滤波器。
图像的频域变换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变换编码。
实验三 图像频域高通和低通滤波变换一、 实验目的1了解图像变换的意义和手段;2熟悉低通滤波的基本性质;3熟悉高通滤波的基本性质;4通过本实验掌握编程实现数字图像的高通滤波及低通滤波的变换二、 实验内容设计程序,分别实现理想低通滤波器,高通滤波器对图像的滤波处理。
观察处理前后图像效果,分析实验结果。
三、 实验原理二维理想低通滤波器的传递函数为:001.(,)(,)0.(,)D u v D H u v D u v D ≤⎧=⎨>⎩D0是指定非负数值,D (u ,v )是(u ,v )点距频率中心的距离。
如果要研究的图像尺寸为M X N ,则它的变换也有相同的尺寸。
在半径为D0的圆内,所有频率无衰减地通过滤波器,而在此半径之外的所有频率完全被衰减掉。
巴特沃斯高通滤波器的传递函数为: 201(,)(,)1[]n H u v D u v D =+ 式中D0为截止频率距远点距离。
一阶巴特沃斯滤波器没有振铃。
在二阶中振铃通常很微小,但在阶数增高时振铃便成为一个重要因素。
高斯高通滤波器传递函数为:220(,)/2(,)D u v D H u v e -=D (u ,v )是距傅立叶变换中心原点的距离。
D0是截止频率。
高斯低通滤波器的傅立叶变换也是高斯的。
二维理想高通滤波器的传递函数为:000.(,)(,) 1.(,)D u v D H u v D u v D ≤⎧=⎨>⎩ D0是从频率矩形中点测得的截止频率长度,它将以D0为半径的圆周内的所有频率置零,而毫不衰减地通过圆周外的任何频率。
但其物理上是不可实现的。
巴特沃斯高通滤波器的传递函数为: 201(,)1[](,)n H u v D D u v =+ 式中D0为截止频率距远点距离。
与低通滤波器的情况一样,可认为巴特沃斯高通型滤波器比IHPF 更平滑。
高斯高通滤波器传递函数为:220(,)/2(,)1D u v D H u v e -=-高通滤波器能够用高斯型低通滤波器的差构成。
实验五图像频域变换
一、实验目的
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)绘制一个二值图像矩阵,并将其傅里叶函数可视化。
f=zeros(30,30);
f(5:24,13:17)=1;
imshow(f, 'InitialMagnification','fit')
F=fft2(f);
F2=log(abs(F));
figure,imshow(F2,[-1 5], 'InitialMagnification','fit');colormap(jet);
F=fft2(f,256,256); %零填充为256×256矩阵
Figure;
imshow(log(abs(F)),[-1 5], 'InitialMagnification','fit');
colormap(jet);
F2=fftshift(F); %将图像频谱中心由矩阵原点移至矩阵中心
Figure;
imshow(log(abs(F2)),[-1 5], 'InitialMagnification','fit');
colormap(jet);
D)利用傅里叶变换分析两幅图像的相关性,定位图像特征。
读入图像‘text.tif’,抽取
其中的字母‘a’。
bw=imread('text.png');
a=bw(59:71,81:91);
imshow(bw);
figure,imshow(a);
C=real(ifft2(fft2(bw).*fft2(rot90(a,2),256,256)));%求相关性
figure,imshow(C,[]);
thresh=max(C(:));
figure,imshow(C>thresh-10)
figure,imshow(C>thresh-15)
*离散余弦变换(DCT)
使用dct2对图像‘autumn.tif’进行DCT变换。
RGB=imread('autumn.tif');
imshow(RGB)
I=rgb2gray(RGB); %转换为灰度图像
figure,imshow(I)
J=dct2(I);
figure,imshow(log(abs(J)),[]),colormap(jet(64));colorbar;
三、思考题
1.傅里叶变换有哪些重要的性质?
2.简述傅里叶频谱搬移的原理
3.Fourier系数幅度、相位的物理意义是什么?
四、实验报告要求
1、描述实验的基本步骤,用数据和图片给出各个步骤中取得的实验结果和源代码,并
进行必要的讨论,必须包括原始图像及其计算/处理后的图像。
2、按上机报告的撰写规范完成实验报告。
报告不得相互抄袭或拷贝,否则一律不及格。
3、实验报告至少包括以下内容:
①实验目的;②实验内容和步骤;③实验结果注:实验时间为上机时间
4、实验报告由每班学习委员统一收齐,并于下一次实验上课的时候上交。
5、每次实验必须自己保存好实验结果,以备下次实验时使用。