1、电子工程学院 数字图像处理 课程实验报告实验名称 频域图像增强 指导老师 毕务忠班级 信处 152 实验日期 2018/4/17 实验地点 5205学生信息(依次填入姓名、学号)张南卿2015021118成绩1、实验目的1.了解图像变换的意义和手段;2.熟悉傅里叶变换的基本性质;3.热练掌握 FFT 方法及应用;4.通过实验了解二维频谱的分布特点;5.通过本实验掌握利用 MATLAB 编程实现数字图像的傅立叶变换及滤波锐化和平滑处理;6. 了解理想、巴特沃兹、高斯等不同滤波器的结构及滤波效果。2、实验原理1 应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如
2、数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。2 傅立叶(Fourier)变换的定义2.1 对于二维信号,二维 Fourier 变换定义为:dyxeyxfvuFvuj)(2),(),(yxf yxj)( sincojej二维离散傅立叶变换为:1,.20,1,.20for ),(1),(01)/(2 NvMueyxfMNvuFxy NvyMuxj ,.,.1fr ),(),(10 )/(2 yvuyxfuvvyuxj图像的傅立叶
3、变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。2.2 巴特沃斯滤波器巴特沃斯 lowpass filter201(,)(,)/nHuvDuvButterworth highpass filter20(,)/(,)n2.3 gaussian filtergaussian lowpass filter220(,)/(,)DuvHegaussian highpass filter220(,)/13 利用 MATLAB 软件实现数字图像傅立叶变换的程序:I=imread(原图像名.g
4、if); %读入原图像文件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); %显示原图像的频谱3、实验仪器与设备(包括实验平台、实验材料等)1.计算机;2. MATLAB 程序;3.移动式存储器(软盘、U
5、 盘等)。4.记录用的笔、纸。4、实验内容(包括实验电路、实验步骤与流程、源程序代码、调试过程记录等,可另附页)1.打开计算机,安装和启动 MATLAB 程序;2.利用 MatLab 工具箱中的函数编制 FFT 频谱显示的函数;3. a).调入、显示图像; b)对图像做 FFT 并利用自编的函数显示其频谱;c)讨论不同的图像内容与 FFT 频谱之间的对应关系。4. 对频谱分别进行巴特沃兹、高斯滤波(高通和低通),比较其锐化和平滑效果5.记录和整理实验报告。5、实验结果及分析(包括程序和数据的记录及分析、实验总结等,可另附页)i=imread(C:picturelena.bmp); %读入原图像
6、文件figure(1); %设定窗口imshow(i); %显示原图像colorbar; %显示图像的颜色条title(原图像) %图像命名j=fft2(i); %二维离散傅立叶变换k=fftshift(j); %直流分量移到频谱中心l=log(abs(k); %数字图像的对数变换figure(2); %设定窗口imshow(l,); %显示原图像colorbar; %显示图像的颜色条title(经过二维快速傅立叶变换后的图像 ) %图像命名n=ifft2(j)/255;%逆二维快速傅里叶变换figure(3); %设定窗口imshow(n);%显示原图像colorbar;%显示图像的颜色条t
7、itle(经过二维快速傅立叶逆变换后的图像 )%图像命名m=fftshift(j);%直流分量移到频谱中心RR=real(m);%取傅立叶变换的实部II=imag(m); %取傅立叶变换的虚部A=sqrt(RR.2+II.2);%计算频谱幅值A=(A-min(min(A)/(max(max(A)-min(min(A)*225;%归一化figure(4);%设定窗口imshow(A);%显示原图像colorbar;%显示图像的颜色条title(离散傅立叶频谱); %图像命名%理想低通滤波器J=imread(C:picturelena.bmp);figure(5);subplot(221);ims
8、how(J);title(原图像);J=double(J);f=fft2(J);g=fftshift(f);subplot(222);imshow(log(abs(g),),color(jet(64);title(傅立叶变换后的频谱 );fft2(g);subplot(223);imshow(g);title(通过理想滤波器);I=imread(C:picturelena.bmp); %巴特沃斯低通滤波器J=imnoise(I,salt figure(6);subplot(2,1,1);imshow(J);title(含有椒盐噪声的图像 )J=double(J);f=fft2(J);%2 维离
9、散傅立叶变换g=fftshift(f);%将 fft 结果以 fs/2 为中心左右互换M,N=size(f);n=3;d0=20;n1=floor(M/2);n2=floor(N/2);for i=1:Mfor j= 1:Nd=sqrt(i-n1)2+(j-n2)2);h=1/(1+(d/d0)(2*n);g(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g);subplot(2,1,2);imshow(g);title(通过巴特沃斯低通滤波器的图像 )6、心得体会(思考与创新、建议等)思考题:1傅里叶变换有哪些重要的性质?线性性、对称性、相似性、平移性、像函数的平移性(频移性)、微分性、像函数的微分性、积分性、卷积与卷积定理、乘积定理2图像的二维频谱在显示和处理时应注意什么?a.进行傅里叶变换的图像应该是灰度图形,原 rgb 彩色图像无法进行相应变换b注意使用 fftshift 函数将频谱的零频分量移至频谱的中心实验心得:通过本次实验了解二维频谱的分布特点;熟练掌握 FFT 方法及应用和 MATLAB编程实现数字图像的傅立叶变换及滤波锐化和平滑处理;