MATLAB课程设计自适应中值滤波解析.docx

上传人:b****8 文档编号:9357279 上传时间:2023-02-04 格式:DOCX 页数:7 大小:83.89KB
下载 相关 举报
MATLAB课程设计自适应中值滤波解析.docx_第1页
第1页 / 共7页
MATLAB课程设计自适应中值滤波解析.docx_第2页
第2页 / 共7页
MATLAB课程设计自适应中值滤波解析.docx_第3页
第3页 / 共7页
MATLAB课程设计自适应中值滤波解析.docx_第4页
第4页 / 共7页
MATLAB课程设计自适应中值滤波解析.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

MATLAB课程设计自适应中值滤波解析.docx

《MATLAB课程设计自适应中值滤波解析.docx》由会员分享,可在线阅读,更多相关《MATLAB课程设计自适应中值滤波解析.docx(7页珍藏版)》请在冰豆网上搜索。

MATLAB课程设计自适应中值滤波解析.docx

MATLAB课程设计自适应中值滤波解析

 

信息工程系

课程设计报告

课程MATLAB课程设计

专业通信工程

班级2级本科二班

学生姓名1景学号114

学生姓名2学号1414

学生姓名3王学号6

学生姓名4学号31

学生姓名4学号02

二〇一四年十二月

摘要:

通过本次课程设计,主要训练和培养学生综合应用所学MATLAB课程的自适应中值的相关知识,独立学习自适应中值滤波的原理及处理方式。

学会扩大窗口并找到其区域内的中值、最小值、以及最大值,然后用中值代替像素点。

通过自主学习和查阅资料来了解程序的编写及改进,并用MATLAB进行仿真。

关键词:

自适应中值滤波灰度值椒盐噪声

像素点.

1.算法描述

1.1噪声点

脉冲噪声是图像处理中常见的一类,中值滤波器对消除脉冲噪声非常有效。

噪声脉冲可以是正的(盐点),也可以是负的(胡椒点),所以也称这种噪声为“椒盐噪声”。

椒盐噪声一般总表现为图像局部区域的最大值或最小值,并且受污染像素的位置是随机分布的,正负噪声点出现的概率通常相等。

图像噪声点往往对应于局部区域的极值。

1.2窗口尺寸选择

滤波窗口尺寸的选择影响滤波效果,大尺寸窗口滤波能力强,但细节保持能力较弱;小尺寸窗口能保持图像大量细节但其滤波性能较低。

根据噪声密度的大小自适应地选择滤波窗口可以缓和滤波性能与细节保持之间的矛盾,同时也增加了算法的时间复杂度。

从形状看来窗口方向要沿着边缘和细节的方向,不能穿过它们也不能把它们和周围相差很大的像素包含在同一窗口中否则边缘和细节会被周围像素模糊。

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

设fij为点(i,j)的灰度,Ai,j为当前工作窗口,fmin、fmax和fmed分别为Ai,j中的灰度最小值、灰度最大值和灰度中值,Amax为预设的允许最大窗口。

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

1)fmin

若Ai,j的尺寸小于Amax的尺寸,则重复第1步;否则输出fij。

2)fmin

可以看出,算法中噪声点的检测和认定是以fmin和fmax为基准的,如果fmin

2程序实现

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

fori=1:

H%for从1到512

forj=1:

L

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

end

end

2.2扩大窗口、确定窗口

fori=1:

H%大循环%i为横坐标j为纵坐标

forj=1:

L%大循环

omiga=2;%omiga=2是最大滤波半径

%%%%%%%%确定窗口

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

zuo=i-omiga;%左减

xia=j-omiga;%下减扩大窗口

you=i+omiga;%右加

shang=j+omiga;%上加

ifzuo<1

zuo=1;

end%扩大窗口但不出边界

ifxia<1

xia=1;%i为1、2、3时zuo都是1,

end便是为了不出边界

ifyou>L%右、下、上运算与左同理

you=L;

end

ifshang>H

shang=H;

end

%%%%%%%窗口确定结束

2.3确定最大、最小值和中值

%%%%%%%%%%%确定最大最小值

smin=I(i,j);%给smin、smax初始化

smax=I(i,j);

total=(you-zuo+1)*(shang-xia+1);

%total是放大后的像素点的个数total=5*5=25

vect1=zeros(1,total-1);%total-1为去掉中心点

kn=1;

forin=zuo:

you%zuo:

youxia:

shang为横纵向扫描

forjn=xia:

shang

if((in==i&jn==j)==0)%“与”00、01、10满足if

vect1(1,kn)=I(in,jn);%把灰度值赋给vect1

kn=kn+1;

end

end

end

smin=nanmin(vect1);%nanmin包含缺失值的样本的最小值smax=nanmax(vect1);%nanmax包含缺失值的样本的最大值

smed=nanmedian(vect1);%nanmedian包含缺失值的样本的中值

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

if(Smed-Smin)>0&(Smax-Smed)>0

ifSmin

flag(i,j)=0;%最大最小之间则flag标记为零

else%意为变成了清晰地像素点

M(i,j)=Smed;%把中值赋给像素点

I(i,j)=Smed;

flag(i,j)=0;%输出flag标记为零

end%得到清晰地像素点过滤掉噪声点

else

omiga=omiga+2;%扩大窗口继续扫描

ifomiga>=5%当滤波半径大于5时不用判断

flag11=0;%直接输出

end

ifomiga>=17%当滤波半径很大时不再判断

flag11=0;

M(i,j)=Smed;%直接等于中值输出

flag(i,j)=0;

end

end

end%while%第六页while循环

end%大循环%第六页for循环

end%大循环%第六页for循环

I=uint8(M);%变为8位的无符号整形数据

imshow(I);%显示图像

实验结果

加入0.7噪点图片经处理后图片:

参考文献

荆仁杰,叶秀清.计算机图像处理[M].北京:

浙江大学出版社,1988:

122.

韩丽娜,耿国华.基于小波变换的真彩图像降噪与增强[J].计算机工程,2010,36(12):

224-225.

陈初侠,丁勇,刘栎莉.去除椒盐噪声的自适应开关加权均值滤波[J].计算机工程,2010,36(4):

210-212.

秦虹,王耀南,朱江,等.一种改进的极值均值自适应滤波算法[J].计算机工程与应用,2009,45(32):

180-182.

贾洪涛,朱元昌,王建华.扩展自适应中值滤波器的原理与实现[J].中国图象图形学报,2004,9(8):

948~950.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1