实验三常用图像滤波方法

合集下载

改变图像质量的几种滤波方法比较

改变图像质量的几种滤波方法比较

1改变图像质量的几种滤波方法比较一、概述滤波是图像处理重要技术之一,是提高图像质量的主要手段。

对输入的图像实现直方图均衡化;设计完成同态滤波器,并用之改善图象质量;对某图像加入不同类型﹑不同强度的噪声(周期﹑椒盐噪声),并分别用空间域和频率域的方法抑制噪声。

二、图像处理过程1.直方图均衡化输入一幅图片,统计原图直方图数组,用一个数组hf 记录hf(i);i 从0到255,令pa(i)=pa(i-1)+hf(i),其中hf(i)为灰度值为i 的像素点占总像素点的概率;一个数组F 记录新的索引值,即令F(i,j)= (pa(f(i,j)+1))*255;依次循环每一个像素,取原图的像素值作为数组F 的下标值,取该下标对应的数组值为均衡化之后的像素值。

结果显示原图图像、原图直方图,均衡化后的图像和直方图,并用于对比。

其中图像中灰度级出现的概率近似为:()n n r p kk r =,k=0,1,2,…,L -1。

而变换函数为:00()(),0,1,2,,1k k j k k r j j j n s T r p r k L n ======-∑∑2.巴特沃斯同态滤波器:图像f(x,y)是由光源照度场(入射分量)fi(x,y)和场景中物体反射光(反射分量)的反射场fr(x,y)两部分乘积产生,关系式为: f(x,y)=fi(x,y)*fr(x,y);fi(x,y)的性质取决于照射源,fr(x,y)取决于成像物体的特性。

一般情况下,照度场f i ( x , y) 的变化缓慢,在频谱上其能量集中于低频;而反射场f r ( x , y) 包含了所需要的图像细节信息,它在空间的变化较快,其能量集中于高频. 这样就可以根据照度—反射模型将图像理解为高频分量与低频分量乘积的结果。

由于两个函数乘积的傅立叶变换是不可分的,故不能直接对照度和反射的频率部分分别进行操作。

2因此定义:z(x,y)=lnf(x,y)=lnfi(x,y)+lnfr(x,y)则Z(u,v)=Fi(u,v)+Fr(u,v)这里,Z(u,v)、Fi(u,v)和Fr(u,v)分别是lnf(x,y)、lnfi(x,y)和lnfr(x,y)的傅立叶变换。

实验三_数字图像处理空域滤波

实验三_数字图像处理空域滤波

实验三空域滤波一实验目的1了解空域滤波的方法。

2掌握几种模板的基本原理。

二实验条件PC微机一台和MATLAB软件。

三实验内容1使用函数fspecial( ) 生成几种特定的模板。

2使用函数imfilter( ) 配合模板对图象数据进行二维卷积。

3比较各种滤波器的效果。

四实验步骤空域滤波一般分为线性滤波和非线性滤波。

空域滤波器根据功能分为平滑滤波器和锐化滤波器。

1)平滑空间滤波:平滑的目的有两种:一是模糊,即在提取较大的目标前去除太小的细节或将目标内的小间断连接起来;另一种是消除噪声。

线性平滑(低通)滤波器:线性平滑空域滤波器的输出是包含在滤波掩膜邻域内像素的简单平均值。

线性平滑滤波器也称为均值滤波器,这种滤波器的所有系数都是正数,对3*3的模板来说,最简单的是取所有系数为1,为了保持输出图像仍然在原来图像的灰度值范围内,模板与像素邻域的乘积都要除以9。

a用h=fspecial(‘average’) 得到的h 为3×3的邻域平均模板,然后用h来对图象lenna.gif进行平滑处理。

>> x=imread('lenna.gif');h=fspecial('average');y=imfilter(x,h);imshow(x);title('原始图像');subplot(1,2,2);imshow(y);title('均值滤波后图像')实验结果如图:b 把模板大小依次改为7×7,9×9和11×11,观察其效果有什么不同?>>x=imread('lenna.gif');subplot(1,4,1);imshow(x);title('原始图像');h=fspecial('average',7);y=imfilter(x,h);subplot(1,4,2);imshow(y);title('模板大小7*7的图像');h1=fspecial('average',9);y1=imfilter(x,h1);subplot(1,4,3);imshow(y1);title('模板大小9*9的图像');h2=fspecial('average',11);y2=imfilter(x,h2);subplot(1,4,4);title('模板大小11*11的图像')比较效果:造成图像的模糊,n选取的越大,模糊越严重。

基于matlab对图像进行高通、低通、带通滤波

基于matlab对图像进行高通、低通、带通滤波

数字图像处理三级项目—高通、低通、带通滤波器摘要在图像处理的过程中,消除图像的噪声干扰是一个非常重要的问题。

利用matlab软件,采用频域滤波的方式,对图像进行低通和高通滤波处理。

低通滤波是要保留图像中的低频分量而除去高频分量,由于图像中的边缘和噪声都对应图像傅里叶频谱中的高频部分,所以低通滤波可以除去或消弱噪声的影响并模糊边缘轮廓;高通滤波是要保留图像中的高频分量而除去低频分量,所以高通滤波可以保留较多的边缘轮廓信息。

低通滤波器有巴特沃斯滤波器和高斯滤波器等等,本次设计使用的低通滤波器为****。

高通滤波器有巴特沃斯滤波器、高斯滤波器、Laplacian高通滤波器以及Unmask高通滤波器等等,本次设计使用巴特沃斯高通滤波器。

1、频域低通滤波器:设计低通滤波器包括 butterworth and Gaussian (选择合适的半径,计算功率谱比),平滑测试图像test1和2。

实验原理分析根据卷积定理,两个空间函数的卷积可以通过计算两个傅立叶变换函数的乘积的逆变换得到,如果f(x, y)和h(x, y)分别代表图像与空间滤波器,F(u, v)和H(u, v)分别为响应的傅立叶变换(H(u, v)又称为传递函数),那么我们可以利用卷积定理来进行频域滤波。

在频域空间,图像的信息表现为不同频率分量的组合。

如果能让某个范围内的分量或某些频率的分量受到抑制,而让其他分量不受影响,就可以改变输出图的频率分布,达到不同的增强目的。

频域空间的增强方法的步骤:(1)将图像从图像空间转换到频域空间;(2)在频域空间对图像进行增强;(3)将增强后的图像再从频域空间转换到图像空间。

低通滤波是要保留图像中的低频分量而除去高频分量。

图像中的边缘和噪声都对应图像傅里叶频谱中的高频部分,所以低通滤波可以除去或消弱噪声的影响并模糊边缘轮廓。

理想低通滤波器具有传递函数:其中D0为制定的非负数,D(u,v)为点(u,v)到滤波器中心的距离。

实验三 空间滤波

实验三 空间滤波

实验三空间滤波实验目的通过本次实验,实现以下几个目标:1.理解空间滤波的含义;2.熟悉MATLAB中的各种滤波函数;3.掌握MATLAB中实现空间滤波的方法。

实验内容一、MATLAB实现空间滤波的方法在MATLAB中两种方法来实现空间滤波,一种是使用MATLAB中提供的滤波函数,另一种是直接对数据进行操作。

1、滤波函数filter2J=filter2(myfilt1,noisy)其中,noisy为图像,myfilt1为滤波器,J为滤波后的图像。

通过改变滤波器掩模,可实现平滑滤波和锐化滤波。

例一:b=imread('Fig3.35(a).jpg ');c=[0.111 0.111 0.1110.111 0.112 0.1110.111 0.111 0.111];d= filter2 (c,b);imshow(b,[0,255]);figure(2),imshow(d,[0,255]);上面的例子按步骤实现了:(1)读入实验图像;(2)定义均值滤波器;(3)均值滤波并显示均值滤波后的图像。

2、中值滤波函数medfilt2J=medfilt2(noisy,[hood,hood])其中,noisy为带噪图像,hood为滤波器尺寸,J为滤波后的图像,用中值滤波可去除椒盐噪声,达到平滑图像的目的。

例二:b=imread('Fig3.35(a).jpg ');d=medfilt2(b,[5, 5]); %[5, 5]为滤波模板的规格3、直接对数据进行操作使用for循环直接对数据进行操作,很直观,便于理解,可实现各种形式的滤波。

注意直接操作时要考虑边缘的处理。

例三:下面的代码实现了均值滤波a= imread('Fig3.35(a).jpg '); % Fig3.35(a).jpg为灰度图b=double(a);c=b;xy=imfinfo('Fig3.35(a).jpg ');x=xy.Width;y=xy.Height;for j=3:x-2,for i=3:y-2,c(i,j)=(b(i+1,j)+b(i,j+1)+b(i-1,j)+b(i,j-1)+b(i,j))/5; %在四邻域内平均endendimshow(c,[0 255],'notruesize');二、空间平滑滤波1.平滑线性滤波器使用不同尺寸的均值滤波器,例如3x3、5x5、9x9等等,对课本中96页的图像Fig3.35(a)进行处理并显示处理后的图像,仔细观察并与课本中的结果进行比较。

关于图形图像处理实训报告总结【九篇】

关于图形图像处理实训报告总结【九篇】

关于图形图像处理实训报告总结【九篇】实训报告总结:图形图像处理实训图形图像处理实训是计算机科学与技术专业的基础课程之一。

通过本次实训课程,我深入了解了图形图像处理的基本概念、方法和技术,并通过实际操作来提升了自己的实践能力。

下面是对本次实训的九篇报告总结:1. 实验一:图像读取与显示本次实验主要是学习如何读取和显示图像,以及使用Matplotlib库进行图像展示。

通过实验,我掌握了图像读取和显示的基本方法,并学会了基本的图像处理操作。

2. 实验二:图像的灰度变换实验二主要是学习图像的灰度变换,包括线性变换和非线性变换。

我学会了如何使用不同的灰度变换函数来调整图像的亮度和对比度,进一步提升图像的质量。

3. 实验三:图像的空间域滤波本次实验主要是学习图像的空间域滤波技术,包括均值滤波、中值滤波和高斯滤波等。

通过实验,我掌握了不同滤波方法的原理和实现方式,并学会了如何选择合适的滤波方法来降噪和模糊图像。

4. 实验四:图像的频域滤波实验四主要是学习图像的频域滤波技术,包括傅里叶变换和频域滤波等。

通过实验,我了解了傅里叶变换的原理和应用,并学会了如何使用频域滤波来实现图像的锐化和平滑。

5. 实验五:图像的形态学处理本次实验主要是学习图像的形态学处理技术,包括腐蚀、膨胀、开运算和闭运算等。

通过实验,我学会了如何使用形态学操作来改变图像的形状和结构,进一步改善图像的质量。

6. 实验六:图像的边缘检测实验六主要是学习图像的边缘检测技术,包括Sobel算子、Laplacian算子和Canny算子等。

通过实验,我了解了不同边缘检测方法的原理和应用,并学会了如何使用边缘检测来提取图像的轮廓和特征。

7. 实验七:图像的分割与聚类本次实验主要是学习图像的分割与聚类技术,包括阈值分割、区域生长和K均值聚类等。

通过实验,我掌握了不同分割与聚类方法的原理和应用,并学会了如何使用分割与聚类来识别和分析图像中的目标和区域。

8. 实验八:图像的特征提取与描述子实验八主要是学习图像的特征提取和描述子技术,包括尺度不变特征变换(SIFT)和方向梯度直方图(HOG)等。

实验报告3:图像的线性与非线性空间滤波

实验报告3:图像的线性与非线性空间滤波

实验报告3:图像的线性与非线性空间滤波一.浮雕效果的实现方式----线性滤波1.浮雕效果的原理描述实现图像浮雕效果的原理是将图像上每个像素点与其对角线的像素点形成差值,使相似颜色值淡化,不同颜色值突出,将图像中灰度值变换较大的部分的像素突出出来,并将灰度值变换不大的部分淡化,从而产生纵深感,达到类似浮雕的效果。

而产生浮雕效果的函数是线性滤波函数filter2(),该函数是一个对二维图像使用的线性滤波器;使用该函数时输入一个算子模块,并生成卷积算子,通过选择合适的滤波算子就能使得图像产生近似于相似色块内对比度加强的浮雕效果。

具体的做法是取主对角线除右下角外的各点之和的平均值,减去右下角点的值,再加上填充背景色,再加上一个背景常数(一般为128)而成,会形成类似浮雕的效果。

2.浮雕特效的效果对比:原图:对比图:、可以看出,原图作为一副彩色图片,其颜色分明的部分的轮廓被很好地保留了下来,并加强了对比度。

本图片右下角有水印,因此水印作为外框黑色填充黄色的图形,被和背景叠加在了一起,并且边界对比度也得到了加强,然而原图是彩色图,画出的浮雕图形是黑白的,因为灰度图像显示彩色图像的浮雕效果更有真实感和立体感。

3.源代码:YT=imread(‘yuantu.jpg’);R=YT(:,:,1);G=YT(:,:,2);B=YT(:,:,3);h=[10-1;40-4;10-1];JR1=filter2(h,R);JG1=filter2(h,G);JB1=filter2(h,B);k=[410;10-1;0-1 -4];JR2=filter2(k,R);JG2=filter2(k,G);JB2=filter2(k,B);JR=JR1+JR2;JG=JG1+JG2;JB=JB1+JB2;J=JR+JG+JB;subplot(1,2,1),imshow(YT),title(‘原图’);subplot(1,2,2),imshow(J),title(‘浮雕效果图’);4.代码解释:代码首先用imread函数将图像写入,然后利用(x,y,1/2/3)的矩阵读取原图每个像素的RGB三个颜色的像素值。

图像的平滑滤波实验报告

图像的平滑滤波实验报告

图像的平滑滤波实验报告
一.实验目的
(1)熟练掌握空域平滑滤波的原理、方法及其MATLAB实现。

(2)分析模板大小对空域平滑滤波的影响,线性和非线性方法对空域平滑滤波增强效果的影响,比较不同滤波器的处理效果,分析其优缺点。

二、实验原理
函数 filter来实现线性空间滤波,用于指定在滤波过程中是使用相关运算,还是卷积运算,相关就是按模板在图像上逐步移动运算的过程,卷积则是先将模板旋转180度,再在图像上逐步移动的过程。

数字图像处理中最著名的统计排序滤波器是中值滤波器,MATLAB 工具箱提供了二维中值滤波函数,定义了一个大小为m×n的邻域,中值就在该邻域上计算。

MATLAB工具箱支持一些预定义的二维线性空间滤波器,这些空间滤波器可通过函数special实现。

生成滤波模板的函数。

三、实验内容及结果
(1)选择一副图像fig620,分别选择3x3,7x7,25x25等平均模板进行均值滤波模糊处理,并对不同尺寸的滤波器模板操作后的图像进行比较。

(1)选择一副图像fig620,分别选择3x3,7x7,25x25等平均模板进行高斯滤波模糊处理,并对不同尺寸的滤波器模板操作后的图像进行比较。

(2)选择一副图像circuit,对图像加入椒盐噪声,检验两种滤波模板(3x 3平均模板和3x3的非线性模板中值滤波器)对噪声的滤波效果。

数字图像处理 实验报告(完整版)

数字图像处理 实验报告(完整版)

数字图像处理实验一 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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三常用图像滤波方法
一、实验目的
1、熟悉并掌握MATLAB图像处理工具箱的使用;
2、理解并掌握常用的图像的滤波技术。

二、实验环境
MATLAB 6.5以上版本、WIN XP或WIN7计算机
三、相关知识
1 imnoise
imnoise函数用于对图像生成模拟噪声,如:
i=imread('e:\w01.tif');
j=imnoise(i,'gaussian',0,0.02);模拟均值为0方差为0.02的高斯噪声,j=imnoise(i,'salt&pepper', 0.04) 模拟叠加密度为0.04的椒盐噪声
2 fspecial
fspecial函数用于产生预定义滤波器,如:
h=fspecial('sobel');%sobel水平边缘增强滤波器
h=fspecial('gaussian');%高斯低通滤波器
h=fspecial('laplacian');%拉普拉斯滤波器
h=fspecial('log');%高斯拉普拉斯(LoG)滤波器
h=fspecial('average');%均值滤波器
3 基于卷积的图像滤波函数
imfilter函数,filter2函数,二维卷积conv2滤波,都可用于图像滤波,用法类似,如:
i=imread('e:\w01.tif');
h=[1,2,1;0,0,0;-1,-2,-1];%产生Sobel算子的水平方向模板
j=filter2(h,i);
或者:
h = fspecial(‘prewitt’)
I = imread('cameraman.tif');
imshow(I);
H = fspecial('prewitt‘); %预定义滤波器
M = imfilter(I,H);
imshow(M)
或者:
i=imread('e:\w01.tif');
h=[1,1,1;1,1,1;1,1,1];
h=h/9;
j=conv2(i,h);
4 其他常用滤波举例
(1)中值滤波
medfilt2函数用于图像的中值滤波,如:
i=imread('e:\w01.tif');
j=medfilt2(i,[M N]);对矩阵i进行二维中值滤波,领域为M*N,缺省值为3*3
(2)利用拉氏算子锐化图像, 如:
i=imread('e:\w01.tif');
j=double(i);
h=[0,1,0;1,-4,0;0,1,0];%拉氏算子
k=conv2(j,h,'same');
三、实验步骤
1、采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口分别采用3*3,5*5,7*7
2、采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波
3、采用三种不同算子对图像进行锐化处理。

四、实验总结
1、比较不同平滑滤波器的处理效果,分析其优缺点
2、比较不同锐化滤波器的处理效果,分析其优缺点。

相关文档
最新文档