湖 南 文 理 学 院 实 验 报 告
课程名称:图像处理技术实验 实验名称:邻域平均法实验 成绩:
学生姓名:向立红 专业: 网工 09101 班 班级、学号 200917030141
同组者姓名:
一、实验目的:
实验日期: 3.28
①掌握图像邻域的概念;
②掌握邻域平均法的原理、滤波过程;
③掌握在给定阈值时,邻域平均法的滤波过程(又叫做超限邻域平均法);
④熟悉 Matlab 编程。
二、实验内容:
①利用邻域平均法,对图像进行滤波;
②给定阈值时利用邻域平均法,对图像进行滤波。
三、实验原理:
邻域平均法的思想是用像素及其指定邻域内像素的平均值或加权平均值作为该
像素的新值,以便去除突变的像素点,从而滤除一定的噪声。邻域平均法的数学含
义可用下式表示:
zw
i
i
(1)
,(
yxg
)
mn
i
1
mn
i
1
w
i
上式中: iz 是以
,(
yx 为中心的邻域像素值; iw 是对每个邻域像素的加权系数或模
)
板系数; mn 是加权系数的个数或称为模板大小。邻域平均法中常用的模板是:
BoxT
1
9
1
1
11
1
1
1
1
1
(2)
为了解决邻域平均法造成的图像模糊问题,采用阈值法(又叫做超限邻域平均
法,如果某个像素的灰度值大于其邻域像素的平均值,且达到一定水平,则判断该
像素为噪声,继而用邻域像素的均值取代这一像素值;否则,认为该像素不是噪声
点,不予取代),给定阈值 0T :
1
,(
yxh
)
,(
yxf
,(
yxg
)
)
,(
yxf
,(
yxf
)
)
,(
yxg
,(
yxg
)
)
T
0
T
0
(3)
(3)式中,
,(
yxf
)
是原始含噪声图像,
,(
yxg
)
是由(1)式计算的平均值,
,(
yxh
)
滤波后的像素值。
四、实验步骤:
①Maltab 读取实验图像;
进入 MATLAB 6.5 的运行环境编写代码如下所示:
close all
clear all
I=imread('lena256.bmp');
figure;
imshow(I);
title('原始图像');
②图像添加椒盐噪声,得到原始含噪声图像;
[T1 T2]=size(I);
%II=zeros(T1,T2);
I_Noise=imnoise(I,'salt & pepper',0.05);
figure;
imshow(I_Noise);
title('噪声图像');
③编程实现邻域平均法滤波过程;
II=I_Noise;
for i=2:T1-1
for j=2:T2-1
Block=I_Noise(i-1:i+1,j-1:j+1);
Temp=sum(Block(:))/9;
II(i,j)=Temp;
end
end
figure;
imshow(II);
title('去噪图像');
imwrite(II,'image.bmp');
④给定阈值时,编程实现邻域平均法滤波过程。
2
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
figure;
imshow(II);
Title('超限滤波后图像');
五、实验结果(显示所图像,并标明是什么图像):
图 1 原始图像
3
图 2 噪声图像
图 3 去噪图像
六、实验小结:
初步了解了 matlab 的一些基本用法,熟悉邻域平均法的基本步骤,使用一些平
常的图片进行试验,对图像进行滤波,然后分析滤波效果。本实验让我们进一步务实
了课堂理论,得以实践。
4
湖 南 文 理 学 院 实 验 报 告
课程名称:图像处理技术实验 实验名称:中值滤波实验 成绩:
学生姓名:向立红 专业: 网工 09101 班 班级、学号 200917030141
同组者姓名:
一、实验目的:
实验日期: 4.14
①掌握中值滤波的原理、滤波过程;
②掌握在给定阈值时,中值滤波的滤波过程(又叫做超限中值滤波);
③熟悉 Matlab 编程。
二、实验内容:
①利用中值滤波,对图像进行滤波;
②给定阈值时利用中值滤波,对图像进行滤波。
三、实验原理:
中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中
各点值的中值代替。
设有一个一维序列 1f , 2f ,…, nf ,取窗口长度为 m(m 为奇数),对此序列进
行中值滤波,就是从输入序列中相继抽出 m 个数, vif ,…, 1if ,…, 1f ,…, 1if ,…,
vif ,其中i 为窗口的中心位置,
1
mv
2
,再将这 m 个点按其数值大小排列,取
其序号为正中间的那作为输出。用数学公式表示为:
,
f
,
,
i
Y
i
fMed
,
vi
四、实验步骤:
clc;
clear all;
close all;
vi
f
mvZ
,
i
1
2
(2-2)
5
img=imread('3_1.bmp');
img_0=rgb2gray(img);
img_1=imnoise(img_0,'salt & pepper',0.02);
img_2=medfilt2(img_1);
subplot(2,2,1);imshow(img);title('原始图像');
subplot(2,2,2);imshow(img_0);title('灰度图像');
subplot(2,2,3);imshow(img_1);title('加入噪声后图像');
subplot(2,2,4);imshow(img_2);title('中值滤波后图像');
五、实验结果(显示所图像,并标明是什么图像):
六、实验小结:
利用 matlab 软件,采用中值滤波的方式,对带有椒盐噪声的图像进行处理,
经过滤波后的图像既适合人眼的视觉感觉又能够消除图像中的干扰影响。
通过本次试验我们可以看到中值滤波对于滤除图像的“椒盐”噪声非常有
效,它可以做到既去除噪声又能保护图像的边缘,从而获得较满意的复原
效果,因此中值滤波是图像处理所不可缺少的,许多类型的图像噪声都可
以利用中值滤波法加以除噪。
湖 南 文 理 学 院 实 验 报 告
6
课程名称:图像处理技术实验 实验名称: 图像锐化实验 成绩:
学生姓名:
专业:
班级、学号:
实验日期:
同组者姓名:
一、实验目的:
①掌握图像锐化的概念;
②掌握 Prewitt 算子对图像进行锐化的原理、过程;
③熟悉 Matlab 编程。
二、实验内容:
①利用 Prewitt 算子对图像进行锐化处理;
②掌握 Maltab 中和图像锐化相关的函数。
三、实验原理:
四、实验步骤:
五、实验结果(显示所图像,并标明是什么图像):
六、实验小结:
湖 南 文 理 学 院 实 验 报 告
7
课程名称:图像处理技术实验 实验名称:图像边缘检测实验 成绩:
学生姓名:
专业:
同组者姓名:
一、实验目的:
班级、学号:
实验日期:
①掌握图像边缘的概念;
②掌握边缘检测 Sobel 算子实现灰度图像边缘检测的原理、过程;
③熟悉 Matlab 编程。
二、实验内容:
①利用 Sobel 算子对图像实现灰度图像边缘检测;
②掌握 Maltab 中和图像边缘检测相关的函数。
三、实验原理:
四、实验步骤:
五、实验结果(显示所图像,并标明是什么图像):
六、实验小结:
湖 南 文 理 学 院 实 验 报 告
8