领域平均法matlab代码实验,数字图像处理邻域平均法滤波实验报告matlab实现.doc...

数字图像处理邻域平均法滤波实验报告matlab实现

数字图像处理

实验报告

实验三 邻域平均法滤波

学号

姓名

实验三 邻域平均法滤波

一、实验内容

选取噪声较明显的图像,分别采用3*3、5*5、7*7的模板进行邻域平均法滤波,并比较滤波效果。

二、实验步骤

设计思想或者流程图。

邻域平均法的思想是用像素及其指定邻域内像素的平均值或加权平均值作为该像素的新值,以便去除突变的像素点,从而滤除一定的噪声。邻域平均法的数学含义可用下式表示:

(1)

上式中:是以为中心的邻域像素值;是对每个邻域像素的加权系数或模板系数; 是加权系数的个数或称为模板大小。邻域平均法中常用的模板是:

(2)

为了解决邻域平均法造成的图像模糊问题,采用阈值法(又叫做超限邻域平均法,如果某个像素的灰度值大于其邻域像素的平均值,且达到一定水平,则判断该像素为噪声,继而用邻域像素的均值取代这一像素值;否则,认为该像素不是噪声点,不予取代),给定阈值:

(3)

(3)式中,是原始含噪声图像,是由(1)式计算的平均值,滤波后的像素值。

源程序并附上注释。

A=imread('1.jpg');

B=rgb2gray(A);

figure; imshow(B); title('原始图象');

H=imnoise(B,'gaussian');

figure; imshow(H); title('高斯噪声');

Q=imnoise(B,'salt & pepper');

figure; imshow(Q); title('椒盐噪声');

M=fspecial('average',3*3);

E=imfilter(Q,M);

figure; imshow(E); title('3*3平均模板');

N=fspecial('average',5*5);

K=imfilter(Q,N);

figure; imshow(K); title('5*5平均模板');

Z=fspecial('average',7*7);

J=imfilter(Q,Z);

figure; imshow(J); title('7*7平均模板');

程序运行结果比较。

原始图像

椒盐噪声

高斯噪声

3*3平均模板

5*5平均模板

7*7平均模板

从实验所得到的图片来看:邻域平均法实现很方便,适于消除图像中的颗粒噪声,但需要指出这种方法既平滑了图像信号,同时使图像的细节部分变得模糊。由以上处理后的图像可以看到:邻域平均法消弱了图像的边缘,使图像变得有些模糊。均值滤波对高斯噪声的抑制是比较好的,但对椒盐噪声的抑制作用不好,椒盐噪声仍然存在,只不过被削弱了而已。

实验体会。

通过本次实验,我知道了邻域平均法是空域处理方法,是一种利用Box模板对图像进行模板操作的图像平滑方法。它是通过一点和邻域内像素点求平均来去除突变的像素点,从而滤掉一定的噪声,算法简单,计算速度快,但其代价是会造成图像一定程度上的模糊。同时我也熟悉了Matlab软件的运用,将理论知识实践化,使自己知识体系更加系统化。

你可能感兴趣的:(领域平均法matlab代码实验)