实验三数字图像的空间域滤波讲解
- 格式:doc
- 大小:1.55 MB
- 文档页数:24
数字图像处理Digital Image Processing3教学目标:1.了解空间域滤波复原及常用的滤波器。
教学内容:1.均值滤波器和顺序统计滤波器及原理。
4空间域滤波复原:在已知噪声模型的基础上,对噪声的空间域滤波。
主要包括:均值滤波器:算术均值滤波器、几何均值滤波器、谐波均值滤波器、逆谐波均值滤波器。
顺序统计滤波器:中值滤波器、二维中值滤波器、修正后的阿尔法均值滤波器、最大/最小滤波器、中点滤波器。
8(a) 输入图像(b)高斯噪声污染图像(c) 算术均值滤波结果【例6.2】采用各种均值滤波方法对含噪图像进行滤波9(d) 几何均值滤波(e)Q=-1.5的逆谐波滤波(f) Q=1.5逆谐波滤波算术均值和几何均值都能衰减噪声,比较而言,几何均值滤波器较难使图像变模糊.11(2)二维中值滤波器中值滤波可去掉椒盐噪声,平滑效果优于均值滤波,在抑制随机噪声的同时能保持图像边缘少受模糊。
顺序统计滤波(Order-Statistics Filters){}(,)ˆ(,)Med(,)xys t Sf x yg s t∈=13(a)椒盐噪声污染的图像(b) 均值滤波结果(c)中值滤波结果(d)对c图再次中值滤波对于椒盐噪声,中值滤波的效果要好于均值滤波【例6.4】采用标准的均值、中值滤波器对含噪图像进行滤波。
14{}xySt st sgyxf∈=),(),(max),(ˆ{}xySt st sgyxf∈=),(),(min),(ˆ顺序统计滤波器(Order-Statistics Filters) 最大/最小滤波器1)最大值滤波器为:2)最小值滤波器为:15(a)噪声图像(b) 最大滤波结果(c) 最小滤波结果◆最大值滤波器可以去除“胡椒”噪声,但会从黑色物体边缘移走一些黑色像素。
◆最小值滤波器可以去除“盐”噪声,但会从亮色物体边缘移走一些白色像素。
1517小结1. 讲解了空间域滤波复原常用的滤波器,包括均值滤波器和顺序统计滤波器,并对相关滤波器效果作了实验对比分析。
数字图像的空间域平滑滤波指导老师:张朝阳院系:电子信息与电气工程学院班级:Z1003423姓名:陆加海学号:1100342091完成日期:2010.5目录数字图像的空间域平滑滤波 (1)数字图像的空间域平滑滤波 (3)1. 实验目的 (3)2. 实验原理 (3)2.1 空间域平滑滤波基本原理 (3)2.2 空间域平滑滤波器 (3)3. 实验内容及实现方案 (3)3.1 实验内容 (3)3.2 实现方案 (4)4. 实验步骤 (4)4.1 噪声加入 (4)4.2 椒盐噪声在不同领域值下的均值滤波 (4)4.3 对椒盐噪声进行均值、中值滤波 (5)4.4 对高斯噪声进行均值、中值滤波 (5)4.5 自行设计空间滤波器 (5)5. 实验结果分析 (6)5.1 噪声加入 (6)5.2 椒盐噪声在不同领域值下的均值滤波 (6)5.3 对椒盐噪声进行均值、中值滤波 (6)5.4 对高斯噪声进行均值、中值滤波 (6)5.5 自行设计空间滤波器 (7)数字图像的空间域平滑滤波1.实验目的1)掌握图像空间域平滑滤波的基本定义及目的。
2)理解空间域平滑滤波的基本原理及方法。
3)掌握进行图像空间域平滑滤波的方法。
2.实验原理2.1 空间域平滑滤波基本原理空间域滤波是在图像空间中借助模板进行领域操作,处理图像每一个都是根据模板对输入像素相应领域内的像素值进行计算得到的。
空间域滤波器根据功能主要分为平滑滤波器和锐化滤波器。
平滑可用低通来实现,平滑的目的可分为两类:一类是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。
2.2 空间域平滑滤波器最常用的平滑滤波器有均值滤波器和中值滤波器。
均值滤波器是线性平滑滤波器,其所有系数都是正数对3×3模板来说,最简单的是取所有系数为1,为了保持图像仍然在原来图像的灰度值范围内,模块与像素领域的乘积都要除以9。
中值滤波器是一种常用的非线性平滑滤波器,其原理与均值滤波器原理类似,但计算的不是加权求和,而是把领域中的图像的像素按灰度级进行排序,然后选择组的中间值作为输出像素值。
1 A=imread('E:\pic\1.jpg');I=rgb2gray(A);subplot(1,3,1);imshow(I);title('原图');J=imnoise(I,'salt & pepper',0.05);subplot(1,3,2);imshow(J); title('加入椒盐噪声图象');K=imnoise(I,'gaussian',0.01,0.02);subplot(1,3,3);imshow(K);title('加入高斯噪声图象');2 A=imread('E:\pic\1.jpg');I=rgb2gray(A);Subplot(2,2,1);Imshow(I);title('原图');H=fspecial('motion',20,45);MotionBlur=imfilter(I,H,'replicate');Subplot(2,2,2);Imshow(MotionBlur);title('MotionBlur image'); H=fspecial('disk',10);blurred=imfilter(I,H,'replicate');Subplot(2,2,3);Imshow(blurred);title('Blurred image');H=fspecial('unsharp',0.5);Sharpened=imfilter(I,H,'replicate');Subplot(2,2,4);Imshow(Sharpened);title('sharpened image');3 A=imread('E:\pic\1.jpg');I=rgb2gray(A);J=imnoise(I,'salt & pepper',0.05);Subplot(2,2,1);imshow(J);title('加入椒盐噪声图象'); H=fspecial('motion',20,45);MotionBlur=imfilter(J,H,'replicate');Subplot(2,2,2);Imshow(MotionBlur);title('replicate');MotionBlur=imfilter(J,H,'symmetric');Subplot(2,2,3);Imshow(MotionBlur);title('symmetric');MotionBlur=imfilter(J,H,'circular');Subplot(2,2,4);Imshow(MotionBlur);title('circular');4A=imread('E:\pic\1.jpg');I=rgb2gray(A);J=imnoise(I,'salt & pepper',0.05);Aver=J;H=fspecial('average');for i =1:10Aver=imfilter(Aver,H,'replicate');endSubplot(1,3,1);imshow(J);title('加有椒盐噪声的图象'); Subplot(1,3,2);imshow(Aver);title('10次均值滤波图象¨'); for i = 1:10Aver=imfilter(Aver,H,'replicate');endSubplot(1,3,3);imshow(Aver);title('20次均值滤波图象');5 A=imread('E:\pic\1.jpg');I=rgb2gray(A);J=imnoise(I,'salt & pepper',0.05);Subplot(1,3,1);imshow(J);title('加有椒盐噪声的图象'); H=fspecial('average');Aver=imfilter(J,H,'replicate');Subplot(1,3,2);imshow(Aver);title('均值滤波后的图象'); Med=medfilt2(J);Subplot(1,3,3);imshow(Med);title('中值滤波后的图象');6 A=imread('E:\pic\1.jpg');f=rgb2gray(A);Subplot(1,2,1);imshow(f);title('原图');w=(1/16)*[1 2 1;2 4 2;1 2 1];f=im2double(f);g=imfilter(f,w,'replicate');Subplot(1,2,2);imshow(g);title('平滑滤波后的图象');1 A=imread('E:\pic\1.jpg');f=rgb2gray(A);w8=[1 1 1;1 -8 1;1 1 1];f=im2double(f);g8=f-imfilter(f,w8,'replicate');figure;Subplot(1,2,1);imshow(f);title('原图');Subplot(1,2,2);imshow(g8);title(' 用拉普拉斯算子滤波后的图象');2function w=genlaplacian(n)w=ones(n);x=ceil(n)/2;w(x,x)=-1*(n*n-1);3 A=imread('E:\pic\1.jpg');f=rgb2gray(A);w5=genlaplacian(5);f=im2double(f);g5=f-imfilter(f,w5,'replicate');w9=genlaplacian(9);g9=f-imfilter(f,w9,'replicate');w15=genlaplacian(15);g15=f-imfilter(f,w15,'replicate');w25=genlaplacian(25);g25=f-imfilter(f,w25,'replicate'); figure(1);imshow(f);title('原图');figure(2);Subplot(2,2,1);Imshow(g5);title('5x5的锐化增强图象'); Subplot(2,2,2);Imshow(g9);title('9x9的锐化增强图象'); Subplot(2,2,3);Imshow(g15);title('15x15的锐化增强图象'); Subplot(2,2,4);Imshow(g25);title('25x25的锐化增强图象');4 A=imread('E:\pic\1.jpg'); B=rgb2gray(A);I=double(B);[Gx,Gy]=gradient(I);G=sqrt(Gx.*Gx+Gy.*Gy);J1=G;Subplot(2,2,1);Imshow(J1,map);J2=I;K=find(G>=7);J2(K)=G(K);Subplot(2,2,2);Imshow(J2,map);J3=I;K=find(G>=7);J3(K)=255;Subplot(2,2,3);Imshow(J3,map);J4=I;K=find(G<=7);J4(K)=255;Subplot(2,2,4);Imshow(J4,map);5 I=imread('E:\pic\1.jpg');B=rgb2gray(I);A=double(B);domain=[ 1 1 1 1 1;1 1 1 1 1;1 1 -24 1 1;1 1 1 1 1;1 1 1 1 1 ];K=conv2(A,domain,'same');figureSubplot(1,2,1);imshow(B);title('原图');Subplot(1,2,2);imshow(K);title('锐化滤波后图象');。
空间滤波实验报告空间滤波实验报告引言:空间滤波是数字图像处理中常用的一种方法,它通过对图像像素进行加权平均或其他操作,以改善图像的质量和增强特定的图像细节。
在本次实验中,我们将探索几种常见的空间滤波技术,并评估它们在不同图像上的效果。
一、均值滤波均值滤波是一种简单的空间滤波方法,它通过计算像素周围邻域的平均值来平滑图像。
在本次实验中,我们选择了一张包含噪声的图像进行均值滤波处理。
结果显示,均值滤波能够有效地减少噪声,但同时也会导致图像的细节模糊化。
这是因为均值滤波是一种线性滤波方法,它对所有像素都施加相同的权重,无法区分图像中的边缘和纹理。
二、中值滤波中值滤波是一种非线性滤波方法,它通过将像素周围邻域的像素值排序并选取中间值来进行滤波。
与均值滤波相比,中值滤波能够更好地保留图像的细节信息。
在实验中,我们使用了一张包含椒盐噪声的图像进行中值滤波处理。
结果显示,中值滤波能够有效去除椒盐噪声,同时也能够保持图像的细节纹理。
这是因为中值滤波对于噪声像素有较好的鲁棒性,能够准确地估计图像中的真实像素值。
三、高斯滤波高斯滤波是一种基于高斯函数的空间滤波方法,它通过对像素周围邻域的像素值进行加权平均来平滑图像。
与均值滤波不同的是,高斯滤波对于不同像素位置的权重是不同的,它能够更好地保持图像的细节和边缘。
在实验中,我们对一张包含高斯噪声的图像进行了高斯滤波处理。
结果显示,高斯滤波能够有效地降低噪声水平,同时也能够保持图像的细节纹理。
这是因为高斯滤波能够根据像素周围邻域的像素值分布来调整权重,从而更好地平衡了图像的平滑度和细节保留。
四、边缘检测除了平滑图像,空间滤波还可以用于边缘检测。
边缘检测是一种常用的图像处理任务,它能够准确地提取图像中的边缘信息。
在实验中,我们使用了一张包含边缘的图像进行了边缘检测实验。
通过应用一种基于梯度的空间滤波算子,我们成功地提取出了图像中的边缘信息。
结果显示,边缘检测能够有效地突出图像中的边缘,但同时也会引入一定的噪声。
数字图像处理实验报告学院:班级:学号:时间:2012.11.29实验三:数字图像的空间域滤波——锐化滤波1.实验目的1.掌握图像滤波的基本定义及目的。
2.理解空间域滤波的基本原理及方法。
3.掌握进行图像的空域滤波的方法。
2.实验基本原理1.空间域增强空间域滤波是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。
空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变输出图像的频率分布,达到增强图像的目的。
空域滤波一般分为线性滤波和非线性滤波两类。
线性滤波器的设计常基于对傅立叶变换的分析,非线性空域滤波器则一般直接对领域进行操作。
各种空域滤波器根据功能主要分为平滑滤波器和锐化滤波器。
平滑可用低通来实现,平滑的目的可分为两类:一类是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。
锐化可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。
结合这两种分类方法,可将空间滤波增强分为四类:线性平滑滤波器(低通)非线性平滑滤波器(低通)线性锐化滤波器(高通)非线性锐化滤波器(高通)空间滤波器都是基于模板卷积,其主要工作步骤是:1)将模板在图中移动,并将模板中心与图中某个像素位置重合;2)将模板上的系数与模板下对应的像素相乘;3)将所有乘积相加;4)将和(模板的输出响应)赋给图中对应模板中心位置的像素。
2.锐化滤波器图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,需要利用图像锐化技术,使图像的边缘变得清晰。
1)线性锐化滤波器线性高通滤波器是最常用的线性锐化滤波器。
这种滤波器的中心系数都是正的,而周围的系数都是负的,所有的系数之和为0。
对3×3 的模板来说,典型的系数取值为:[-1 -1 -1;-1 8 -1;-1 -1 -1]事实上这是拉普拉斯算子。
实验三、四数字图像的空间域滤波和频域滤波1.实验目的1.掌握图像滤波的基本定义及目的。
2.理解空间域滤波的基本原理及方法。
3.掌握进行图像的空域滤波的方法。
4.掌握傅立叶变换及逆变换的基本原理方法。
5.理解频域滤波的基本原理及方法。
6.掌握进行图像的频域滤波的方法。
2.实验基本原理1.空间域增强空间域滤波是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。
空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变输出图像的频率分布,达到增强图像的目的。
空域滤波一般分为线性滤波和非线性滤波两类。
线性滤波器的设计常基于对傅立叶变换的分析,非线性空域滤波器则一般直接对领域进行操作。
各种空域滤波器根据功能主要分为平滑滤波器和锐化滤波器。
平滑可用低通来实现,平滑的目的可分为两类:一类是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。
锐化可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。
结合这两种分类方法,可将空间滤波增强分为四类:线性平滑滤波器(低通)非线性平滑滤波器(低通)线性锐化滤波器(高通)非线性锐化滤波器(高通)空间滤波器都是基于模板卷积,其主要工作步骤是:1)将模板在图中移动,并将模板中心与图中某个像素位置重合;2)将模板上的系数与模板下对应的像素相乘;3)将所有乘积相加;4)将和(模板的输出响应)赋给图中对应模板中心位置的像素。
2.平滑滤波器1)线性平滑滤波器线性低通平滑滤波器也称为均值滤波器,这种滤波器的所有系数都是正数,对3×3的模板来说,最简单的是取所有系数为1,为了保持输出图像任然在原来图像的灰度值范围内,模板与象素邻域的乘积都要除以9。
MATLAB 提供了fspecial 函数生成滤波时所用的模板,并提供filter2 函数用指定的滤波器模板对图像进行运算。
数字图像的空间域滤波和频域滤波indicator = np.random.randint(0, 2)# 灰度图像if ndim == 2:if indicator == 0:dst[x, y] = 0else:dst[x, y] = 255# 彩色图像elif ndim == 3:if indicator == 0:dst[x, y, :] = 0else:dst[x, y, :] = 255return dst高斯噪声:def addGaussianNoise(image,sigma):mean = 0.0row, col ,ch= image.shapegauss = np.random.normal(mean, sigma, (row, col,ch)) gauss = gauss.reshape(row, col,ch)noisy = image + gaussreturn noisy.astype(np.uint8)2) 对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示。
加入椒盐噪声后图像的滤波:img1 =cv2.imread("D:\\mote.jpg",0)img=img1[100:300]src =salt_pepperNoise(img)cv2.imshow("origin",src)dst = cv2.blur(src,(3,3)) #均值滤波模板cv2.imshow("blur",dst)dst1 = cv2.medianBlur(src,5) #中值滤波cv2.imshow("medianBlur",dst1)dst2 = cv2.GaussianBlur(src,(3,3),0) #高斯滤波cv2.imshow("GaussianBlur",dst2)cv2.waitKey(0)cv2.destroyAllWindows()3) 进行低通滤波,显示处理后的图像。
数字图像处理中的空间滤波数学原理探索数字图像处理是一门研究如何对图像进行数字化处理的学科。
在数字图像处理中,空间滤波是一种常用的技术,用于改善图像的质量、增强图像的细节以及去除图像中的噪声。
本文将探索数字图像处理中的空间滤波数学原理。
一、数字图像的表示和处理在数字图像处理中,图像被表示为一个二维矩阵,矩阵的每个元素代表图像中的一个像素点。
每个像素点的值表示了该点的亮度或颜色信息。
数字图像处理的目标是通过对图像矩阵进行各种操作,改变图像的外观和质量。
二、空间滤波的概念空间滤波是一种基于像素点周围邻域像素值的操作,通过对像素点及其邻域像素进行加权平均或其他运算,来改变图像的外观和质量。
空间滤波可以分为线性滤波和非线性滤波两种类型。
三、线性滤波的数学原理线性滤波是指滤波操作可以表示为线性函数的滤波方法。
在数字图像处理中,常用的线性滤波方法包括均值滤波、高斯滤波和中值滤波。
1. 均值滤波均值滤波是一种简单的线性滤波方法,它通过计算像素点周围邻域像素的平均值来实现。
均值滤波可以有效地去除图像中的噪声,但同时也会导致图像的模糊。
2. 高斯滤波高斯滤波是一种基于高斯函数的线性滤波方法,它通过对像素点周围邻域像素进行加权平均来实现。
高斯滤波可以有效地去除图像中的噪声,同时保持图像的细节。
3. 中值滤波中值滤波是一种基于排序统计的线性滤波方法,它通过对像素点周围邻域像素进行排序,然后取中间值作为滤波结果。
中值滤波可以有效地去除图像中的椒盐噪声,但对于其他类型的噪声效果较差。
四、非线性滤波的数学原理非线性滤波是指滤波操作不能表示为线性函数的滤波方法。
在数字图像处理中,常用的非线性滤波方法包括边缘保持滤波和维纳滤波。
1. 边缘保持滤波边缘保持滤波是一种基于图像边缘信息的非线性滤波方法,它通过保持图像的边缘信息来实现。
边缘保持滤波可以有效地增强图像的细节和轮廓。
2. 维纳滤波维纳滤波是一种基于图像和噪声的统计特性的非线性滤波方法,它通过最小化图像和噪声之间的均方误差来实现。
数字图像处理-空间域处理-空间滤波-平滑空间滤波器参考⾃:数字图像处理第三版-冈萨勒斯平滑滤波⽤于模糊处理和降低噪声。
模糊处理常⽤于预处理任务中,如在⽬标提取之前去除图像中的⼀些琐碎细节,以及桥接直线或曲线的缝隙。
通过线性或⾮线性平滑滤波也可降低噪声。
线性滤波器均值滤波器(均值平滑、均值滤波)平均值或加权平均值常见的平滑处理应⽤就是降低噪声。
它会去除与滤波器模板尺⼨相⽐较⼩的像素区域。
然⽽,由于图像边缘也是由图像灰度尖锐变化带来的特性,所以均值滤波处理存在不希望有的边缘模糊效应。
空间均值处理的⼀个重要应⽤是为了对感兴趣的物体得到⼀个粗略的描述,模糊⼀幅图像。
这样,那些较⼩物体的灰度与背景融合在⼀起,较⼤物体变得像“斑点”⽽易于检测。
模板的⼤⼩由那些即将融⼊背景中的物体尺⼨来决定。
(b)中图像的⼀些部分或者融⼊背景中,或者亮度降低1"""2均值滤波3"""4import numpy as np5import cv2678# 定义函数,⽣成椒盐噪声图像9def salt_pepperNoise(src):10 dst = src.copy()11 num = 1000 # 1000个噪声点12 ndim = np.ndim(src)13 row, col = np.shape(src)[0:2]14for i in range(num):15 x = np.random.randint(0, row) # 随机⽣成噪声点位置16 y = np.random.randint(0, col)17 indicator = np.random.randint(0, 2) # ⽣成随机数0和1,决定是椒噪声还是盐噪声18# 灰度图像19if ndim == 2:20if indicator == 0:21 dst[x, y] = 022else:23 dst[x, y] = 25524# 彩⾊图像25elif ndim == 3:26if indicator == 0:27 dst[x, y, :] = 028else:29 dst[x, y, :] = 25530return dst313233# 定义函数,实现均值滤波34def meanFilter(src, wsize): # src为输⼊图像,wsize为窗⼝⼤⼩35 border = np.uint8(wsize/2.0) # 计算扩充边缘36 addBorder = cv2.copyMakeBorder(src, border, border, border, border, cv2.BORDER_REFLECT_101) # 扩充后37 dst = src.copy()38 filterWin = 1.0/(wsize**2) * np.ones((wsize, wsize), dtype=np.float32) # 定义窗⼝39 row, col = np.shape(addBorder)40# 滑动,开始滤波41for i in range(border, row-border):42for j in range(border, col-border):43 temp = addBorder[i-border:i+border+1, j-border:j+border+1]44 newValue = np.sum(temp * filterWin) # 均值滤波45 dst[i-border, j-border] = newValue46 dst = np.uint8(dst + 0.5)47return dst484950 img = cv2.imread('F:\program_study\Python\data\lena.tif', cv2.IMREAD_GRAYSCALE)51# ⽣成椒盐图52 saltPimg = salt_pepperNoise(img)53 cv2.imshow('saltPepper', saltPimg)54# 均值滤波55 MeanFimg = meanFilter(saltPimg, 3)56 cv2.imshow('MeanFilter', MeanFimg)57 cv2.waitKey(0)58 cv2.destroyAllWindows()均值平滑⾼斯滤波器(⾼斯平滑、⾼斯滤波)参考⾃:⾼斯滤波器是⼀种带权的平均滤波器,它的模板根据⾼斯函数计算得到。
数字图像处理实验报告实验三图像空间滤波1、实验目的图像的空间滤波能够实现对图像锐化、亮度增强等操作,通过此功能能够得到所需图像,进行观察各种滤波器的区别与使用范围。
2、实验步骤(1).通过如下污染一幅图像的方式创建一组带噪声的图像:•a加入高斯噪声 b加入椒盐噪声•使用如下技术:•创建2个平滑线形滤波器并分别对上述加噪图像实现线性滤波,比较其优劣, 并写入实验报告:•[ 1 1 1 [ 1 2 1• 1 1 1 2 4 2• 1 1 1 ] 1 2 1 ](2).实现中值滤波对上述加噪图像的处理结果,总结中值滤波和均值滤波各适合用于处理的噪声类型,并写入实验报告。
(3).对一幅模糊的图像使用两种锐化空间滤波器进行增强,并比较效果。
3、实验源码(1)加入高斯噪声makeI=imnoise(W,'gaussian',0,0.005);figure,imshow(makeI);imwrite(makeI,'3-1-gaussian.jpg')(2)加入椒盐噪声makeI=imnoise(W,'salt & pepper',0.01);figure,imshow(makeI);imwrite(makeI,'3-1-salt.jpg')(3)创建两个平滑线性滤波器h=[1 1 1;1 1 1; 1 1 1]a.高斯噪声的图像I=imread('3-1-gaussian.jpg')K=rgb2gray(I)imshow(i)h=[1 1 1;1 1 1;1 1 1]I2 = filter2(h,K);imshow(I2,[]), colorbarb.椒盐噪声的图像W=imread('3-1-salt.jpg')T=rgb2gray(W)I2 = filter2(h,T);imshow(I2,[]), colorbarh=[1 2 1;2 4 2;1 2 1]a.高斯噪声的图像h=[1 2 1;2 4 2;1 2 1]I2 = filter2(h,i);imshow(I2,[]), colorbarb.椒盐噪声的图像I2 = filter2(h,T);imshow(I2,[]), colorbar实现中值滤波(椒盐),观察处理结果可知适于处理椒盐噪声R=imread('3-1-salt.jpg')T=rgb2gray(R)makeI=medfilt2(T,'symmetric');figure,imshow(makeI);实现中值滤波(高斯)R=imread('3-1-gaussian.jpg')T=rgb2gray(R)makeI=medfilt2(T,'symmetric');figure,imshow(makeI);4、实验截图原图加入高斯噪声后如下图:加入椒盐噪声后如下图:A.高斯噪声的图像处理如下:B .椒盐噪声的图像处理如下:平滑线性滤波器h=[1 2 1;2 4 2;1 2 1] A .对高斯噪声图像的处理如下:B.对椒盐噪声图像的处理如下:对已加入椒盐噪声的图像的处理如下:对已加入高斯噪声图像的处理如下:5、实验小结通过本次实验的观察:(1)、中值滤波更适于处理含有椒盐噪声的图像,噪声有明显的消除。
数字图像处理实验报告一、引言数字图像处理是一门涉及图像获取、图像处理和图像分析的重要学科,广泛应用于计算机科学、电子工程、通信技术等领域。
本报告旨在介绍并总结我所进行的数字图像处理实验,讨论实验的目的、方法、结果和分析。
二、实验目的通过本次实验,旨在掌握和理解数字图像处理的基本原理和常见技术,包括灰度变换、空间域滤波、频域滤波等,以及层次分割、边缘检测和形态学处理等高级应用技术。
三、实验方法1. 寻找合适的图像在实验中,我选用了一张自然风景图像作为处理对象。
这张图像包含丰富的纹理和颜色信息,适合用于多种图像处理方法的验证和比较。
2. 灰度变换灰度变换是数字图像处理中常见的基础操作,可以通过对图像的像素灰度值进行线性或非线性变换,来调整图像的对比度、亮度等特征。
在实验中,我利用线性灰度变换方法将原始彩色图像转换为灰度图像,并进行对比度的调整,观察处理结果的变化。
3. 空间域滤波空间域滤波是一种基于像素邻域的图像处理方法,常用于图像去噪、边缘增强等应用。
我使用了平滑滤波和锐化滤波两种方法,并针对不同的滤波算子和参数进行了实验和比较,评估其对图像细节和边缘保留的影响。
4. 频域滤波频域滤波是一种基于图像的频谱特征的图像处理方法,广泛应用于图像增强、去噪和特征提取等方面。
我利用傅里叶变换将图像从空间域转换到频域,采用理想低通滤波器和巴特沃斯低通滤波器进行图像的模糊处理,并进行了实验对比和分析。
5. 高级应用技术在实验中,我还研究了数字图像处理中的一些高级应用技术,包括层次分割、边缘检测和形态学处理。
通过应用不同的算法和参数,我实现了图像区域分割、提取图像边缘和形态学形状变换等效果,评估处理结果的准确性和稳定性。
四、实验结果与分析通过对以上实验方法的实施,我获得了一系列处理后的图像,并进行了结果的比较和分析。
在灰度变换实验中,我发现线性变换对图像的对比度有较大影响,但对图像的细节变化不敏感;在空间域滤波实验中,平滑滤波可以有效降噪,但会导致图像细节损失,而锐化滤波可以增强图像的边缘效果,但也容易引入噪声;在频域滤波实验中,理想低通滤波对图像的模糊效果明显,而巴特沃斯低通滤波器可以在一定程度上保留图像的高频细节信息;在高级应用技术实验中,边缘检测和形态学处理对提取图像边缘和形状变换非常有效,但参数的选择会对结果产生较大影响。
图像增强—空域滤波实验报告篇一:5.图像增强—空域滤波 - 数字图像处理实验报告计算机与信息工程学院验证性实验报告一、实验目的进一步了解MatLab软件/语言,学会使用MatLab对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。
了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能力,并为课堂教学提供配套的实践机会。
二、实验要求(1)学生应当完成对于给定图像+噪声,使用平均滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声,进行滤波处理;能够正确地评价处理的结果;能够从理论上作出合理的解释。
(2)利用MATLAB软件实现空域滤波的程序:I=imread('electric.tif');J = imnoise(I,'gauss',0.02); %添加高斯噪声 J = imnoise(I,'salt & pepper',0.02); %添加椒盐噪声ave1=fspecial('average',3); %产生3×3的均值模版ave2=fspecial('average',5); %产生5×5的均值模版 K = filter2(ave1,J)/255; %均值滤波3×3 L = filter2(ave2,J)/255; %均值滤波5×5 M = medfilt2(J,[3 3]);%中值滤波3×3模板 N = medfilt2(J,[4 4]); %中值滤波4×4模板 imshow(I);figure,imshow(J); figure,imshow(K); figure,imshow(L); figure,imshow(M); figure,imshow(N);三、实验设备与软件(1) IBM-PC计算机系统(2) MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox) (3) 实验所需要的图片四、实验内容与步骤a) 调入并显示原始图像Sample2-1.jpg 。
实验三、四数字图像的空间域滤波和频域滤波1.实验目的1.掌握图像滤波的基本定义及目的。
2.理解空间域滤波的基本原理及方法。
3.掌握进行图像的空域滤波的方法。
4.掌握傅立叶变换及逆变换的基本原理方法。
5.理解频域滤波的基本原理及方法。
6.掌握进行图像的频域滤波的方法。
2.实验基本原理1.空间域增强空间域滤波是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。
空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变输出图像的频率分布,达到增强图像的目的。
空域滤波一般分为线性滤波和非线性滤波两类。
线性滤波器的设计常基于对傅立叶变换的分析,非线性空域滤波器则一般直接对领域进行操作。
各种空域滤波器根据功能主要分为平滑滤波器和锐化滤波器。
平滑可用低通来实现,平滑的目的可分为两类:一类是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。
锐化可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。
结合这两种分类方法,可将空间滤波增强分为四类:线性平滑滤波器(低通)非线性平滑滤波器(低通)线性锐化滤波器(高通)非线性锐化滤波器(高通)空间滤波器都是基于模板卷积,其主要工作步骤是:1)将模板在图中移动,并将模板中心与图中某个像素位置重合;2)将模板上的系数与模板下对应的像素相乘;3)将所有乘积相加;4)将和(模板的输出响应)赋给图中对应模板中心位置的像素。
2.平滑滤波器1)线性平滑滤波器线性低通平滑滤波器也称为均值滤波器,这种滤波器的所有系数都是正数,对3×3的模板来说,最简单的是取所有系数为1,为了保持输出图像任然在原来图像的灰度值范围内,模板与象素邻域的乘积都要除以9。
MATLAB 提供了fspecial 函数生成滤波时所用的模板,并提供filter2 函数用指定的滤波器模板对图像进行运算。
函数fspecial 的语法格式为:h=fspecial(type);h=fspecial(type,parameters);其中参数type 指定滤波器的种类,parameters 是与滤波器种类有关的具体参数。
表2.1 MATLAB中预定义的滤波器种类MATLAB 提供了一个函数imnoise 来给图像增添噪声,其语法格式为:J=imnoise(I,type);J=imnoise(I,type,parameters);参数type 指定噪声的种类,parameters 是与噪声种类有关的具体参数。
参数的种类见表2.2。
表2.2 噪声种类及参数说明2)非线性平滑滤波器中值滤波器是一种常用的非线性平滑滤波器,其滤波原理与均值滤波器方法类似,但计算的非加权求和,而是把领域中的图像的象素按灰度级进行排序,然后选择改组的中间值作为输出象素值。
MATLAB 提供了medfilt2 函数来实现中值滤波,其语法格式为:B=medfilt2(A,[m n]);B=medfilt2(A);其中,A 是原图象,B 是中值滤波后输出的图像。
[m n]指定滤波模板的大小,默认模板为3×3。
3.锐化滤波器图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,需要利用图像锐化技术,使图像的边缘变得清晰。
1)线性锐化滤波器线性高通滤波器是最常用的线性锐化滤波器。
这种滤波器的中心系数都是正的,而周围的系数都是负的,所有的系数之和为0。
对3×3 的模板来说,典型的系数取值为:[-1 -1 -1;-1 8 -1;-1 -1 -1]事实上这是拉普拉斯算子。
语句h=-fspecial(‘laplacian’,0.5)得到的拉普拉斯算子为:h =-0.3333 -0.3333 -0.3333-0.3333 2.6667 -0.3333-0.3333 -0.3333 -0.33332)非线性锐化滤波邻域平均可以模糊图像,因为平均对应积分,所以利用微分可以锐化图像。
图像处理中最常用的微分方法是利用梯度。
常用的空域非线性锐化滤波微分算子有sobel 算子、prewitt 算子、log 算子等。
4.频域增强频域增强是利用图像变换方法将原来的图像空间中的图像以某种形式转换到其他空间中,然后利用该空间的特有性质方便地进行图像处理,最后再转换回原来的图像空间中,从而得到处理后的图像。
频域增强的主要步骤是:选择变换方法,将输入图像变换到频域空间。
在频域空间中,根据处理目的设计一个转移函数,并进行处理。
将所得结果用反变换得到增强的图像。
常用的频域增强方法有低通滤波和高通滤波。
5.低通滤波图像的能量大部分集中在幅度谱的低频和中频部分,而图像的边缘和噪声对应于高频部分。
因此能降低高频成分幅度的滤波器就能减弱噪声的影响。
由卷积定理,在频域实现低通滤波的数学表达式:G(u,v) =H(u,v)F(u,v)1)理想低通滤波器(ILPF)2)巴特沃斯低通滤波器(BLPF)3)指数型低通滤波器(ELPF)6.高通滤波由于图像中的细节部分与其高频分量相对应,所以高通滤波可以对图像进行锐化处理。
高通滤波与低通滤波相反,它是高频分量顺利通过,使低频分量受到削弱。
高通滤波器和低通滤波器相似,其转移函数分别为:1)理想高通滤波器(IHPF)2)巴特沃斯高通滤波器(BLPF)3)指数型高通滤波器(ELPF)图像经过高通滤波处理后,会丢失许多低频信息,所以图像的平滑区基本上会消失。
所以,可以采用高频加强滤波来弥补。
高频加强滤波就是在设计滤波传递函数时,加上一个大于0小于1的常数c,即:H′(u,v) =H(u,v)+c3.实验内容与要求1.平滑空间滤波:1)读出eight.tif这幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中。
2)对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示。
3)使用函数imfilter时,分别采用不同的填充方法(或边界选项,如零填充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图像。
4)运用for循环,将加有椒盐噪声的图像进行10次,20次均值滤波,查看其特点,显示均值处理后的图像(提示:利用fspecial 函数的’average’类型生成均值滤波器)。
5) 对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处 理,要求在同一窗口中显示结果。
6) 自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。
2. 锐化空间滤波1) 读出blurry_moon.tif 这幅图像,采用3×3的拉普拉斯算子w = [ 1, 1, 1; 1 – 8 1; 1, 1, 1]对其进行滤波。
2) 编写函数w = genlaplacian(n),自动产生任一奇数尺寸n 的拉普拉斯算子,如5×5 的拉普拉斯算子w = [ 1 1 1 1 1 1 1 1 1 1 1 1 -24 1 1 1 1 1 1 1 1 1 1 1 1]3) 分别采用5×5,9×9,15×15和25×25大小的拉普拉斯算子对blurry_moon.tif 进行锐化滤波,并利用式2(,)(,)(,)g x y f x y f x y =-∇完成图像的锐化增强,观察其有何不同,要求在同一窗口中显示。
4) 采用不同的梯度算子对blurry_moon.tif 进行锐化滤波,并比较其效果。
5) 自己设计锐化空间滤波器,并将其对噪声图像进行处理,显示处理后的图像;3. 傅立叶变换1) 读出woman.tif 这幅图像,对其进行快速傅立叶变换,分别显示其幅度图像和相位 图像。
仅对相位部分进行傅立叶反变换后查看结果图像。
2) 仅对幅度部分进行傅立叶反变换后查看结果图像。
3) 将图像的傅立叶变换F 置为其共轭后进行反变换,比较新生成图像与原始图像的差 异。
4. 平滑频域滤波1) 设计理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器,截至频率自选,分 别给出各种滤波器的透视图。
2) 读出test_pattern.tif 这幅图像,分别采用理想低通滤波器、巴特沃斯低通滤波器和高 斯低通滤波器对其进行滤波(截至频率自选),再做反变换,观察不同的截止频率下采用不同低通滤波器得到的图像与原图像的区别,特别注意振铃效应。
(提示:1)在频率域滤波同样要注意到填充问题;2)注意到(-1)x+y ;)5. 锐化频域滤波1) 设计理想高通滤波器、巴特沃斯高通滤波器和高斯高通滤波器,截至频率自选,分 别给出各种滤波器的透视图。
2) 读出test_pattern.tif 这幅图像,分别采用理想高通滤波器、巴特沃斯高通滤波器和高 斯高通滤波器对其进行滤波(截至频率自选),再做反变换,观察不同的截止频率下采用不同高通滤波器得到的图像与原图像的区别。
1.实验具体实现1.平滑空间滤波:1)读出eight.tif这幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中。
I=imread('eight.tif');imshow(I);J = imnoise(I,'salt & pepper',0.05); %noise density=0.05K= imnoise(I,'gaussian',0.01,0.01);subplot(131),imshow(I);subplot(132),imshow(J);subplot(133),imshow(K);图2.1 初始图像及椒盐噪声图像、高斯噪声污染图2)对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示。
I=imread('eight.tif');H = fspecial('sobel');Sobel = imfilter(I,H,'replicate');H = fspecial('laplacian',0.4);lap = imfilter(I,H,'replicate');H = fspecial('gaussian',[3 3],0.5);gaussian = imfilter(I,H,'replicate');subplot(221),imshow(I);subplot(222),imshow(Sobel);subplot(223),imshow(lap);subplot(224),imshow(gaussian);图2.2 原图像及各类低通滤波处理图像3)使用函数imfilter时,分别采用不同的填充方法(或边界选项,如零填充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图像。