1、信息工程系课程设计汇报课 程 MATLAB课程设计 专 业 通信工程 班 级 2级本科二班 学生姓名1 景 学号114学生姓名2 学号1414学生姓名3 王 学号6学生姓名4 学号31学生姓名4 学号02二一四年十二月目录目录2摘要:3关键词:31.算法描述41.1 噪声点41.2 窗口尺寸选择41.3求滤波窗口内中值,并替换像素点。42程序实现52.1准备和描述52.2扩大窗口、确定窗口62.3 确定最大、最小值和中值72.4中值替换像素点 、输出图像8试验结果10参考文件10摘 要: 经过此次课程设计,关键训练和培养学生综合应用所学MATLAB课程自适应中值相关知识,独立学习自适应中值滤波
2、原理及处理方法。学会扩大窗口并找到其区域内中值、最小值、和最大值,然后用中值替换像素点。经过自主学习和查阅资料来了解程序编写及改善,并用MATLAB进行仿真。关键词:自适应 中值滤波 灰度值 椒盐噪声 像素点.1.算法描述1.1 噪声点脉冲噪声是图像处理中常见一类,中值滤波器对消除脉冲噪声很有效。噪声脉冲能够是正(盐点),也能够是负(胡椒点),所以也称这种噪声为 “椒盐噪声”。椒盐噪声通常总表现为图像局部区域最大值或最小值,而且受污染像素位置是随机分布,正负噪声点出现概率通常相等。图像噪声点往往对应于局部区域极值。1.2 窗口尺寸选择 滤波窗口尺寸选择影响滤波效果,大尺寸窗口滤波能力强, 但细
3、节保持能力较弱;小尺寸窗口能保持图像大量细节但其滤波性能较低。依据噪声密度大小自适应地选择滤波窗口能够缓解滤波性能和细节保持之间矛盾,同时也增加了算法时间复杂度。从形状看来窗口方向要沿着边缘和细节方向,不能穿过它们也不能把它们和周围相差很大像素包含在同一窗口中不然边缘和细节会被周围像素模糊。1.3求滤波窗口内中值,并替换像素点。设f ij为点(i,j)灰度,A i,j为目前工作窗口,f min、f max和f med分别为A i,j中灰度最小值、灰度最大值和灰度中值, A max为预设许可最大窗口。 自适应中值滤波算法基础步骤以下: 1)f minf medf max,则转至第2步;不然增大窗
4、口A i,j 尺寸。若A i,j尺寸小于A max尺寸, 则反复第1步; 不然输出f ij。2)f minf ijf max,则输出f ij;不然输出f med。 能够看出, 算法中噪声点检测和认定是以f min和f max为基准,假如f minf medf max,表明f med不是噪声,接着依据 f minf ijf max判定f ij是否是噪声, 当f ij和f med全部不是脉冲噪声时,优先输出f ij。2程序实现2.1准备和描述 clear; % 清除工作空间变量I=imread(I3_256.bmp); % 输入图像I=imnoise(I,salt & pepper, 0.7);
5、% 加入椒盐噪声点 密度为0.7imshow(I) % 显示图像figure; % 控制窗口数量 先显示一个M=I; % 赋给MI=double(I); % 确定精度 提升精度M=double(M); flag11=1; % 11是(1,1)是开始点H=512; % H为高,L为长L=512; % 像素为512*512for 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
6、=2 是最大滤波半径 %确定窗口 while flag(i,j)=1 % 循环 恒为一 一直实施 zuo=i-omiga; % 左减xia=j-omiga; % 下减 扩大窗口 you=i+omiga; % 右加 shang=j+omiga; % 上加 if zuo1 zuo=1; end % 扩大窗口 但不出边界if xiaL %右、下、上运算和左同理 you=L; end if shangH shang=H;end%窗口确定结束2.3 确定最大、最小值和中值 %确定最大最小值 smin=I(i,j); % 给smin、smax初始化 smax=I(i,j); total=(you-zuo+
7、1)*(shang-xia+1); %total是放大后像素点个数 total=5*5=25 vect1=zeros(1,total-1); % total-1为去掉中心点 kn=1; for in=zuo:you %zuo:you xia:shang 为横纵向扫描 for jn=xia:shang if (in=i&jn=j)=0) %“和” 00、01、10 满足if vect1(1,kn)=I(in,jn); %把灰度值赋给vect1 kn=kn+1; end endendsmin=nanmin(vect1); %nanmin 包含缺失值样本最小值smax=nanmax(vect1);
8、%nanmax 包含缺失值样本最大值smed=nanmedian(vect1); %nanmedian 包含缺失值样本中值2.4中值替换像素点 、输出图像if (S med-S min)0&(S max-S med)0 if S minM(i,j)&M(i,j)=5 %当滤波半径大于5时不用判定 flag11=0; % 直接输出 endif omiga=17 % 当滤波半径很大时 不再判定 flag11=0; M(i,j)=S med; % 直接等于中值 输出 flag(i,j)=0; end end end %while %第六页while循环 end %大循环 %第六页for循环 end
9、%大循环 % 第六页for循环I=uint8(M); % 变为8位无符号整形数据imshow(I); % 显示图像试验结果 加入0.7噪点图片 经处理后图片: 参考文件荆仁杰,叶秀清.计算机图像处理M.北京:浙江大学出版社,1988:122. 韩丽娜,耿国华基于小波变换真彩图像降噪和增强J计算机工程, ,36(12):224225陈初侠,丁勇,刘栎莉去除椒盐噪声自适应开关加权均值滤波J计算机工程,36(4):210212秦虹,王耀南,朱江,等一个改善极值均值自适应滤波算法J计算机工程和应用,45(32):180182贾洪涛,朱元昌,王 建华.扩展自适应中值滤波器原理和实现J.中国图象图形学报,9(8):948950.