邻域平均法实验!
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南文理学院实验报告
课程名称:图像处理技术实验 实验名称:邻域平均法实验 成绩: 学生姓名: 专业: 计算机科学与技术 班级: 芙蓉计科0901班 学 号: 同组者姓名: 实验日期: 2012/11/26
一、实验目的:
①掌握图像邻域的概念;
②掌握邻域平均法的原理、滤波过程;
③掌握在给定阈值时,邻域平均法的滤波过程(又叫做超限邻域平均法);
④熟悉Matlab 编程。
二、实验内容:
①利用邻域平均法,对图像进行滤波;
②给定阈值时利用邻域平均法,对图像进行滤波。
三、实验原理:
邻域平均法的思想是用像素及其指定邻域内像素的平均值或加权平均值作为该像素的新值,以便去除突变的像素点,从而滤除一定的噪声。
邻域平均法的数学含义可用下式表示:
∑∑==
⎪
⎭⎫ ⎝⎛=mn i i
mn i i i w z w y x g 1
1),( (1) 上式中:i z 是以),(y x 为中心的邻域像素值;i w 是对每个邻域像素的加权系数或模板系数; m n 是加权系数的个数或称为模板大小。
邻域平均法中常用的模板是:
⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡*=11111111191Box T (2) 为了解决邻域平均法造成的图像模糊问题,采用阈值法(又叫做超限邻域平均法,如果某个像素的灰度值大于其邻域像素的平均值,且达到一定水平,则判断该像素为噪声,继而用邻域像素的均值取代这一像素值;否则,认为该像素不是噪声点,不予取代),给定阈值0T :
⎩⎨⎧≥-<-=0
0),(),(),(),(),(),(),(T y x g y x f y x g T y x g y x f y x f y x h (3) (3)式中,),(y x f 是原始含噪声图像,),(y x g 是由(1)式计算的平均值,),(y x h 滤波
后的像素值。
四、实验步骤:
①Maltab读取实验图像;
进入MATLAB 6.5的运行环境编写代码如下所示:
clc
clear all
close all
I=imread('Lena256.bmp');
figure;
imshow(I);
title('原始图像');;
②图像添加椒盐噪声,得到原始含噪声图像;
实现代码如下:
I_N=imnoise(I,'salt & pepper',0.05);
figure;
imshow(I_N);
title('噪声图像');
③编程实现邻域平均法滤波过程;
实现代码如下:
、
II=I_N;
for i=2:255
for j=2:255
Block=I_N(i-1:i+1,j-1:j+1);
II(i,j)=sum(Block(:))/9;
end
end
figure;
imshow(II);
title('滤波后图像');
④给定阈值时,编程实现邻域平均法滤波过程。
实现代码如下:
Io=10
III=I_N;
I_N=double(I_N);
for i=2:255
for j=2:255
Block=I_N(i-1:i+1,j-1:j+1);
Temp=sum(Block(:))/9;
if abs(I_N(i,j)-Temp)>Io
II(i,j)=Temp;
end
end
end
figure;
imshow(II);
Title('超限滤波后图像');
五、实验结果(显示所图像,并标明是什么图像):
图1 原始图像
图2 噪声图像
图3 滤波后图像
图4超限滤波后图像
六、实验小结:
通过本次实验掌握了图像邻域的概念,掌握了邻域平均法的原理、滤波过程;掌握在给定阈值时,邻域平均法的滤波过程,同时也熟悉Matlab编程。
加深了对课本知识的印象,
收获了很多。