2015秋 数字图像处理实验二 综合实验
- 格式:ppt
- 大小:2.14 MB
- 文档页数:27
数字图像处理实验一 MATLAB数字图像处理初步一、显示图像1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;实验结果如下图:源代码:>>I=imread('lily.tif')>> whos I>> imshow(I)二、压缩图像4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。
7.用imread()读入图像Sunset.jpg和Winter.jpg;8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小;9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。
其中9的实验结果如下图:源代码:4~6(接上面两个) >>I=imread('lily.tif')>> imfinfo 'lily.tif';>> imwrite(I,'lily.jpg','quality',20);>> imwrite(I,'lily.bmp');7~9 >>I=imread('Sunset.jpg');>>J=imread('Winter.jpg')>>imfinfo 'Sunset.jpg'>> imfinfo 'Winter.jpg'>>figure(1),imshow('Sunset.jpg')>>figure(2),imshow('Winter.jpg')三、二值化图像10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
电子工程学院数字图像处理课程实验报告四、实验容(包括实验电路、实验步骤与流程、源程序代码、调试过程记录等,可另附页)1.打开计算机,安装和启动MATLAB程序;2.利用MatLab工具箱中的函数编制FFT频谱显示的函数;3. a).调入、显示图像;b)对图像做FFT并利用自编的函数显示其频谱;c)讨论不同的图像容与FFT频谱之间的对应关系。
4. 对频谱分别进行巴特沃兹、高斯滤波(高通和低通),比较其锐化和平滑效果5.记录和整理实验报告。
五、实验结果及分析(包括程序和数据的记录及分析、实验总结等,可另附页)i=imread('C:\picture\lena.bmp'); %读入原图像文件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;%显示图像的颜色条title('经过二维快速傅立叶逆变换后的图像')%图像命名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:\picture\lena.bmp');figure(5);subplot(221);imshow(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:\picture\lena.bmp'); %巴特沃斯低通滤波器J=imnoise(I,'salt & pepper',0.05);figure(6);subplot(2,1,1);imshow(J);title('含有椒盐噪声的图像')J=double(J);f=fft2(J);%2维离散傅立叶变换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('通过巴特沃斯低通滤波器的图像')六、心得体会(思考与创新、建议等)思考题:1.傅里叶变换有哪些重要的性质?线性性、对称性、相似性、平移性、像函数的平移性(频移性)、微分性、像函数的微分性、积分性、卷积与卷积定理、乘积定理2.图像的二维频谱在显示和处理时应注意什么?a.进行傅里叶变换的图像应该是灰度图形,原rgb彩色图像无法进行相应变换b..注意使用fftshift函数将频谱的零频分量移至频谱的中心实验心得:通过本次实验了解二维频谱的分布特点;熟练掌握FFT方法及应用和MATLAB编程实现数字图像的傅立叶变换及滤波锐化和平滑处理;。
目录实验一:数字图像的基本处理操作 (4):实验目的 (4):实验任务和要求 (4):实验步骤和结果 (5):结果分析 (8)实验二:图像的灰度变换和直方图变换 (9):实验目的 (9):实验任务和要求 (9):实验步骤和结果 (9):结果分析 (13)实验三:图像的平滑处理 (14):实验目的 (14):实验任务和要求 (14):实验步骤和结果 (14):结果分析 (18)实验四:图像的锐化处理 (19):实验目的 (19):实验任务和要求 (19):实验步骤和结果 (19):结果分析 (21)实验一:数字图像的基本处理操作:实验目的1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简单变换。
3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。
:实验任务和要求1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。
2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。
3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。
4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。
:实验步骤和结果1.对实验任务1的实现代码如下:a=imread('d:\');i=rgb2gray(a);I=im2bw(a,;subplot(1,3,1);imshow(a);title('原图像');subplot(1,3,2);imshow(i);title('灰度图像');subplot(1,3,3);imshow(I);title('二值图像');subplot(1,3,1);imshow(a);title('原图像');结果如图所示:图原图及其灰度图像,二值图像2.对实验任务2的实现代码如下:a=imread('d:\');A=imresize(a,[800 800]);b=imread('d:\');B=imresize(b,[800 800]);Z1=imadd(A,B);Z2=imsubtract(A,B);Z3=immultiply(A,B);Z4=imdivide(A,B);subplot(3,2,1);imshow(A);title('原图像 A'); subplot(3,2,2);imshow(B);title('原图像 B'); subplot(3,2,3);imshow(Z1);title('加法图像'); subplot(3,2,4);imshow(Z2);title('减法图像'); subplot(3,2,5);imshow(Z3);title('乘法图像'); subplot(3,2,6);imshow(Z2);title('除法图像');结果如图所示:3.对实验任务3的实现代码如下:s=imread('d:\');i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j); %直流分量移到频谱中心I=log(abs(k)); %对数变换m=fftshift(j); %直流分量移到频谱中心RR=real(m); %取傅里叶变换的实部II=imag(m); %取傅里叶变换的虚部A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=circshift(s,[800 450]);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);title('原图像');subplot(2,2,2);imshow(uint8(b));title('平移图像');subplot(2,2,3);imshow(A);title('离散傅里叶变换频谱');subplot(2,2,4);imshow(B);title('平移图像离散傅里叶变换频谱');结果如图所示:4.对实验任务4的实现代码如下:s=imread('d:\');i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j);I=log(abs(k));m=fftshift(j);RR=real(m);II=imag(m);A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=imrotate(s,-90);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);title('原图像');subplot(2,2,2);imshow(uint8(b));title('平移图像');subplot(2,2,3);imshow(A);title('离散傅里叶频谱');subplot(2,2,4);imshow(B);title('平移图像离散傅里叶频谱');结果如图所示::结果分析对MATLAB软件的操作开始时不太熟悉,许多语法和函数都不会使用,写出程序后,调试运行,最开始无法显示图像,检查原因,是有些标点符号没有在英文状态下输入和一些其他的细节,学会了imread(),imshow(),rgb2gray()等函数。
数字图像处理实验实验报告(实验一)一、实验目的:1、直方图显示2、计算并绘制图像直方图3、直方图均衡化二.程序脚本clear all;RGB=imread('me.jpg');figure;imshow(RGB);title('图1 彩色图');%========================================================== I=rgb2gray(RGB);figure;imshow(I);title('图2 灰度图');%========================================================= figure;imhist(I);title('灰度直方图');%========================================================= hi=imhist(I);j=1;%为使画出的直方图更好看,在此进行了抽样for(i=1:256)if(mod(i,10)==1)h(j)=hi(i);j=j+1;endendn=0:10:255;figure;stem(n,h);axis([0 255 0 2500]);title('图3.1 stem显示直方图');figure;bar(n,h);axis([0 255 0 2500]);title('图3.2 bar显示直方图');figure;plot(n,h);axis([0 255 0 2500]);title('图3.3 plot显示直方图');%========================================================= I=rgb2gray(RGB);figure;subplot(3,2,1);imshow(I);title('图4.1 原始灰度图');subplot(3,2,2);imhist(I);title('图4.2 原始灰度直方图');%=============================J1=imadjust(I);subplot(3,2,3);imshow(J1);title('调整对比度以后的图');subplot(3,2,4);imhist(J1);title('调整对比度以后的灰度直方图');%=================================J2=histeq(I);subplot(3,2,5);imshow(J2);title('均衡化以后的的图');subplot(3,2,6);imhist(J2);title('均衡化以后的灰度直方图');三.实验结果图1 彩色图图2 灰度图010002000灰度直方图10020010020005001000150020002500图3.1 stem 显示直方图10020005001000150020002500图3.2 bar 显示直方图10020005001000150020002500图3.3 plot 显示直方图图4.1 原始灰度图10002000图4.2 原始灰度直方图0100200调整对比度以后的图010002000调整对比度以后的灰度直方图0100200均衡化以后的的图02000均衡化以后的灰度直方图100200。
实验报告实验名称:图像处理姓名:刘强班级:电信1102学号:1404110128实验一图像变换实验——图像点运算、几何变换及正交变换一、实验条件PC机数字图像处理实验教学软件大量样图二、实验目的1、学习使用“数字图像处理实验教学软件系统”,能够进行图像处理方面的简单操作;2、熟悉图像点运算、几何变换及正交变换的基本原理,了解编程实现的具体步骤;3、观察图像的灰度直方图,明确直方图的作用和意义;4、观察图像点运算和几何变换的结果,比较不同参数条件下的变换效果;5、观察图像正交变换的结果,明确图像的空间频率分布情况。
三、实验原理1、图像灰度直方图、点运算和几何变换的基本原理及编程实现步骤图像灰度直方图是数字图像处理中一个最简单、最有用的工具,它描述了一幅图像的灰度分布情况,为图像的相关处理操作提供了基本信息。
图像点运算是一种简单而重要的处理技术,它能让用户改变图像数据占据的灰度范围。
点运算可以看作是“从象素到象素”的复制操作,而这种复制操作是通过灰度变换函数实现的。
如果输入图像为A(x,y),输出图像为B(x,y),则点运算可以表示为:B(x,y)=f[A(x,y)]其中f(x)被称为灰度变换(Gray Scale Transformation,GST)函数,它描述了输入灰度值和输出灰度值之间的转换关系。
一旦灰度变换函数确定,该点运算就完全确定下来了。
另外,点运算处理将改变图像的灰度直方图分布。
点运算又被称为对比度增强、对比度拉伸或灰度变换。
点运算一般包括灰度的线性变换、阈值变换、窗口变换、灰度拉伸和均衡等。
图像几何变换是图像的一种基本变换,通常包括图像镜像变换、图像转置、图像平移、图像缩放和图像旋转等,其理论基础主要是一些矩阵运算,详细原理可以参考有关书籍。
实验系统提供了图像灰度直方图、点运算和几何变换相关内容的文字说明,用户在操作过程中可以参考。
下面以图像点运算中的阈值变换为例给出编程实现的程序流程图,如下:2、图像正交变换的基本原理及编程实现步骤数字图像的处理方法主要有空域法和频域法,点运算和几何变换属于空域法。
西南交⼤数字图像处理第⼆次试验数字图像处理第⼆次实验注意提交实验报告的⽂件名格式(姓名+学号+实验报告⼆.doc)实验三灰度变换增强⼀、实验⽬的1.熟悉matlab图像处理⼯具箱及直⽅图函数的使⽤;2.了解灰度变换增强的Matlab实现⽅法3.掌握直⽅图灰度变换⽅法4.理解和掌握直⽅图原理和⽅法;⼆、实验内容1. 线段上像素灰度分布读⼊灰度图像'peppers_gray.bmp',采⽤交互式操作,⽤improfile绘制⼀条线段的灰度值。
imshow(rgb2gray(imread('peppers.bmp')))Improfile读⼊RGB图像‘flowers.tif’,显⽰所选线段上红、绿、蓝颜⾊分量的分布imshow('flowers.tif')Improfile2. 直⽅图变换A)直⽅图显⽰在matlab环境中,程序⾸先读取图像'cameraman.tif',然后调⽤直⽅图函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif'); %读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直⽅图title('原始图像直⽅图') %在原图直⽅图上加标题读⼊图像‘rice.png’,在⼀个窗⼝中显⽰灰度级n=64,128和256的图像直⽅图。
I=imread('rice.png');imshow(I)I=imread('rice.png');subplot(1,3,1),imhist(I,64)title('n=64')subplot(1,3,2),imhist(I,128)title('n=128')subplot(1,3,3),imhist(I,256)title('n=256')B)直⽅图灰度调节利⽤函数imadjust调解图像灰度范围,观察变换后的图像及其直⽅图的变化。
《数字图像处理》实验报告数字图像处理是一门将图像进行数字化处理的学科,它通过计算机算法和技术手段对图像进行分析、增强、压缩和重建等操作。
在本次实验中,我们学习了数字图像处理的基本概念和常用算法,并通过实验来探索其应用和效果。
首先,我们进行了图像的读取和显示实验。
通过使用Python中的OpenCV库,我们能够轻松地读取图像文件,并将其显示在屏幕上。
这为我们后续的实验奠定了基础。
同时,我们还学习了图像的像素表示方法,了解了图像由像素点组成的原理。
这使我们能够更好地理解后续实验中的算法和操作。
接下来,我们进行了图像的灰度化实验。
灰度化是将彩色图像转换为灰度图像的过程。
在实验中,我们使用了不同的算法来实现灰度化操作,包括平均值法、最大值法和加权平均法等。
通过比较不同算法得到的灰度图像,我们发现不同算法对图像的处理效果有所差异,这使我们深入理解了灰度化的原理和应用。
随后,我们进行了图像的直方图均衡化实验。
直方图均衡化是一种用于增强图像对比度的方法。
在实验中,我们使用了直方图均衡化算法来对图像进行处理,并观察了处理前后的效果变化。
通过实验,我们发现直方图均衡化能够显著提高图像的对比度,使图像更加清晰和鲜明。
在进一步探索图像处理技术的过程中,我们进行了图像的滤波实验。
滤波是一种常用的图像处理操作,它通过对图像进行卷积操作来实现。
在实验中,我们学习了不同类型的滤波器,包括均值滤波器、高斯滤波器和中值滤波器等。
通过比较不同滤波器对图像的处理效果,我们发现每种滤波器都有其适用的场景和效果。
此外,我们还进行了图像的边缘检测实验。
边缘检测是一种用于提取图像边缘信息的方法。
在实验中,我们学习了不同的边缘检测算法,包括Sobel算子、Canny算子和Laplacian算子等。
通过比较不同算法对图像的处理效果,我们发现每种算法都有其独特的特点和应用。
最后,我们进行了图像的压缩实验。
图像压缩是一种将图像数据进行压缩以减小文件大小的方法。
《数字图像处理》实验报告学院:信息工程学院专业:电子信息工程学号:姓名:2015年6月18日目录实验一图像的读取、存储和显示 (2)实验二图像直方图分析 (6)实验三图像的滤波及增强 (15)实验四噪声图像的复原 (19)实验五图像的分割与边缘提取 (23)附录1 MATLAB简介 (27)实验一图像的读取、存储和显示一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.图像的显示。
二、实验原理一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。
例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。
因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。
图像关于x和y坐标以及振幅连续。
要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
采样和量化的过程如图1所示。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
三、实验设备(1) PC计算机(2) MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox)(3) 实验所需要的图片四、实验内容及步骤1.利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件设为flower.jpg语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
贵州大学实验报告学院:专业:班级:姓名学号实验组实验时间指导教师成绩实验项目名称实验二:数字图像的空域增强处理实验目的通过本实验的学习使学生熟悉和掌握数字图像中的空域增强的一些典型方法:直方图的均衡化处理、平滑滤波、锐化滤波。
实验要求集中授课的教学形式实验原理1、直方图均衡化:基本思想:把原始图的直方图变换为均匀分布的形式,这样就增加了灰度值的动态范围从而达到增强图像整体对比度的效果。
其优点是能自动地增强整个图像的对比度。
均衡化步骤:(1)列出原始灰度级;(2)归一化原始灰度级;(3)统计原始直方图个灰度级像素kn;(4)计算原始直方图;(5)计算累计直方图;(6)确定映射关系(原则是:取最靠近的灰度级别);(7)统计新直方图各灰度级像素kn(8)计算新直方图;也可以用以下方法:(1)计算出原始图像的所有灰度级ks,1,,1,0-=Lk ;(2)统计原始图像各灰度即的像素数k n ;(3)计算原始图像的直方图n n s p kk =)(,1,,1,0-=L k ;(4)计算原始图像的累积直方图)()(00∑∑=====ki i s ki ik k s p n n s EH t ;(5)取整运算:])1int[(N kt N t k k +-=;(6)定义映射关系k k t s →;(7)统计新直方图各灰度级的像素数k n ;(8)计算新的直方图n n t p kk t =)(;2、邻域平均法对含噪声原始图像),(y x f 的每个像素点取一个邻域S 。
计算S 中的所有像素灰度级的平均值,作为空间域平均处理后图像),(y x g 的像素值。
即:∑∈=Sy x y x f My x g ),(),(1),(其中M 为邻域S 中的像素点数。
3、中值滤波对含噪声原始图像),(y x f 的每个像素点取一个邻域S (一般选取奇数点模板窗口)。
选取S 中的所有像素灰度级的中间值,作为空间域平均处理后图像),(y x g 的像素值。
数字图像处理实验报告实验报告课程名称:图像技术实验名称:数字图像处理综合实验院(系):专业班级:姓名:学号:指导教师:⼀、实验⽬的:(1)、实验类型:综合性实验;(2)、了解图像技术软件如matlab,ERDAS的软硬件环境、数据采集;(3)、初步掌握图像技术软件的基本操作技能;(4)、能够熟练的操作matlab,ERDAS软件,并能应⽤该软件进⾏简单的图像处理和;(5)、掌握产品的输出设计。
⼆、实验主要仪器设备,器材,药品,软件等(1)软件准备:matlab7.0,ERDASIMAGINE9.2(2)硬件准备:PC机512M内存,32M显卡(最低)(3)资料准备:天津地区1999年,2005年的TM和分辨率为10⽶的SPOT 影像图三、实验原理和内容:(1)实验题⽬:数字图像图像处理综合实验(2)具体要求:应⽤matlab软件或erdas软件对lena图像和1999,2005年天津地区遥感影像做增强处理;对增强后的地图进⾏岸线提取;对1999,2005年天津地区TM图像进⾏信息提取。
(3)功能描述:窗⼝命令及功能介绍,数据的输⼊/输出,数据预处理,图像增强,监督分类(⾮监督分类),分类后处理,⽬视解译等功能。
(4)实验原理:如图所⽰影像处理技术路线及原理四、实验步骤:试验⼀,对lena图像进⾏平滑处理(1)平滑算⼦均值滤波算⼦是⼀个矩阵,各个元素均为相等的值,计算时将矩阵内对以应的象元值累加求平均以达到对图像平滑的作⽤;中值滤波是将矩阵模板中的象元值进⾏排序,然后对每个象元赋予象元中间值,达到对图像的平滑作⽤。
(2)处理结果1.均值滤波将lene.png放⼊matlaB默认路径,在编辑框中输⼊下⾯的代码对图像进⾏均值滤波,并输出滤波后的图像。
clcclear allI=imread('lena.png');J=imnoise(I,'salt & pepper',0.02); subplot(231);imshow(I);title('原图')subplot(232);imshow(J);title('添加椒盐噪声')J1=J(:,:,1);K1=filter2(fspecial('average',3),J1); K2=filter2(fspecial('average',5),J1); K3=filter2(fspecial('average',7),J1); K4=filter2(fspecial('average',9),J1); subplot(233);imshow(uint8(K1)); title('3*3模板平滑')subplot(234);imshow(uint8(K2)); title('5*5模板平滑') subplot(235);imshow(uint8(K3)); title('7*7模板平滑') subplot(236);imshow(uint8(K4)); title('9*9模板平滑')2.中值滤波clcclear allI=imread('lena.png');J=imnoise(I,'salt & pepper',0.02); subplot(131);imshow(I); title('原图')subplot(132);imshow(J);title('添加椒盐噪声')J1=J(:,:,1);K2=medfilt2(J1);subplot(133);imshow(K2,[]);title('中值滤波图像');3.理想低通滤波clear all;x=imread('lena-n.png');j=x(:,:,1);subplot(331);imshow(j);j=double(j);f=fft2(j);subplot(332);imshow(log(abs(g)),[]); color(jet(64)); [m,n]=size(f);n1=floor(m/2);n2=floor(n/2);d0=5;for i=1:mfor j=1:nd=sqrt((i-n1)^2+(j-n2)^2);if d<=d0h=1;elseh=0;endg(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(333);imshow(g);g=fftshift(f);d1=15for i=1:mfor j=1:nd=sqrt((i-n1)^2+(j-n2)^2);if d<=d1h=1;elseh=0;endg(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(334);imshow(g);xlabel('(d)被滤掉3.6%⾼频能量');g=fftshift(f);d2=45;for i=1:mfor j=1:nd=sqrt((i-n1)^2+(j-n2)^2);if d<=d2h=1;elseh=0;endg(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(335);imshow(g);xlabel('(e)被滤掉1%⾼频能量');d3=65;for i=1:mfor j=1:nd=sqrt((i-n1)^2+(j-n2)^2);if d<=d3h=1;elseh=0;endg(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(336);imshow(g);xlabel('(f)被滤掉0.6%⾼频能量');结果如下图:(3)评价结果从均值滤波得到的图像可以看出,⽤5*5模板进⾏平滑滤波效果最好,3*3的模板去除噪声的效果不是特别明显,7*7模板和9*9模板虽然去噪的效果好,但容易使原图像变模糊;中值滤波是相对较好的⼀种⽅法,不但算法简单,效果也很明显;⽤低通滤波虽然能很好的去除噪声,但算法较为复杂。