当前位置:文档之家› MATLAB课程设计(自适应中值滤波)

MATLAB课程设计(自适应中值滤波)

MATLAB课程设计(自适应中值滤波)
MATLAB课程设计(自适应中值滤波)

信息工程系课程设计报告

课程MATLAB课程设计

专业通信工程

班级 2级本科二班

学生姓名1 景学号114

学生姓名2 学号1414

学生姓名3 王学号6

学生姓名4 学号31

学生姓名4 学号02

二〇一四年十二月

目录

目录 (1)

摘要: (2)

关键词: (2)

1.算法描述 (2)

1.1 噪声点 (3)

1.2 窗口尺寸选择 (3)

1.3求滤波窗口内中值,并替换像素点。 (3)

2程序实现 (4)

2.1准备和描述 (4)

2.2扩大窗口、确定窗口 (5)

2.3 确定最大、最小值和中值 (6)

2.4中值替换像素点、输出图像 (7)

实验结果 (9)

参考文献 (9)

摘要:通过本次课程设计,主要训练和培养学生综合应用所学MATLAB课程的自适应中值的相关知识,独立学习自适应中值滤波的原理及处理方式。学会扩大窗口并找到其区域内的中值、最小值、以及最大值,然后用中值代替像素点。通过自主学习和查阅资料来了解程序的编写及改进,并用MATLAB进行仿真。

关键词:自适应中值滤波灰度值椒盐噪声像素点.

1.算法描述

1.1 噪声点

脉冲噪声是图像处理中常见的一类,中值滤波器对消除脉冲噪声非常有效。噪声脉冲可以是正的(盐点),也可以是负的(胡椒点),所以也称这种噪声为“椒盐噪声”。椒盐噪声一般总表现为图像局部区域的最大值或最小值,并且受污染像素的位置是随机分布的,正负噪声点出现的概率通常相等。图像噪声点往往对应于局部区域的极值。

1.2窗口尺寸选择

滤波窗口尺寸的选择影响滤波效果,大尺寸窗口滤波能力强,但细节保持能力较弱;小尺寸窗口能保持图像大量细节但其滤波性能较低。根据噪声密度的大小自适应地选择滤波窗口可以缓和滤波性能与细节保持之间的矛盾,同时也增加了算法的时间复杂度。从形状看来窗口方向要沿着边缘和细节的方向,不能穿过它们也不能把它们和周围相差很大的像素包含在同一窗口中否则边缘和细节会被周围像素模糊。

1.3求滤波窗口内中值,并替换像素点。

设f ij为点(i,j)的灰度,A i,j为当前工作窗口,f min、f max 和f med分别为A i,j中的灰度最小值、灰度最大值和灰度中值, A

max为预设的允许最大窗口。

自适应中值滤波算法的基本步骤如下:

1)f min

2)f min

2.1准备和描述

clear; % 清除工作空间的变量

I=imread('I3_256.bmp'); % 输入图像

I=imnoise(I,'salt & pepper', 0.7); % 加入椒盐噪声点密度为0.7

imshow(I) % 显示图像

figure; % 控制窗口数量先显示一个

M=I; % 赋给M

I=double(I); % 确定精度提高精度

M=double(M);

flag11=1; % 11是(1,1)是开始的点H=512; % H为高,L为长

L=512; % 像素为512*512

for i=1:H % for 从1到512 for j=1:L

flag(i,j)=1; % 所有点都假定为噪点 end

end

2.2扩大窗口、确定窗口

for i=1:H %大循环 % i为横坐标 j为纵坐标 for j=1:L %大循环

omiga=2; % omiga=2 是最大滤波半径 %%%%%%%%确定窗口

while flag(i,j)==1 % 循环恒为一一直执行

zuo=i-omiga; % 左减

xia=j-omiga; % 下减扩大窗口 you=i+omiga; % 右加

shang=j+omiga; % 上加

if zuo<1

zuo=1;

相关主题
文本预览
相关文档 最新文档