欢迎来到天天文库
浏览记录
ID:20605647
大小:171.00 KB
页数:10页
时间:2018-10-14
《matlab课程设计(自适应中值滤波)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、信息工程系课程设计报告课程MATLAB课程设计专业通信工程班级2级本科二班学生姓名1景学号1学生姓名2学号1414学生姓名3王学号6学生姓名4学号31学生姓名4学号02二O—四年十二月目录a2摘要:关键词:31.算法描述31.1噪声点41.2窗口尺寸选择41.3求滤波窗口内中值,并替换像素点。42程序实现52.1准备和描述52.2扩大窗口、确定窗口62.3确定最大、最小值和中值2.4中值替换像素点、输出图像8实验结果10参考文献10摘要:通过本次课程设计,主要训练和培养学生综合应用所学MATLAB课程的自适应中值的相关知识,独立学习自适应中值滤波的原理及处理方式。学会扩大窗口并找到其
2、区域内的中值、最小值、以及最大值,然后用中值代替像素点。通过自主学习和查阅资料来了解程序的编写及改进,并用MATLAB进行仿真。关键词:自适应中值滤波灰度值椒盐噪声像素点.1.算法描述1.1噪声点脉冲噪声是图像处理中常见的一类,中值滤波器对消除脉冲噪声非常有效。噪声脉冲可以是正的(盐点),也可以是负的(胡椒点),所以也称这种噪声为“椒盐噪声”。椒盐噪声一般总表现为图像局部区域的最大值或最小值,并且受污染像素的位置是随机分布的,正负噪声点出现的概率通常相等。图像噪声点往往对应于局部区域的极值。1.2窗口尺寸选择滤波窗U尺寸的选择影响滤波效果,大尺寸窗U滤波能力强,但细节保持能力较弱;小
3、尺T窗口能保持图像大量细节但其滤波性能较低。根据噪声密度的大小自适应地选择滤波窗口可以缓和滤波性能与细节保持之间的矛盾,同时也增加了算法的时间复杂度。从形状看来窗口方向要沿着边缘和细节的方向,不能穿过它们也不能把它们和周围相差很大的像素包含在同一窗口中否则边缘和细节会被周围像素模糊。1.3求滤波窗口内中值,并替换像素点设fij为点(i,j)的灰度,Ai,j为当前工作窗口,fmin、fmax和fmed分别为Ai,j中的灰度最小值、灰度最大值和灰度中值,Amax为预设的允许最大窗u。自适应中值滤波算法的基本步骤如下:1)fmin4、寸。若Ai,j的尺寸小于Amax的尺寸,则重复第1步;否则输出fij。2)fmin5、(M);flagll=l;H=512;%清除工作空间的变量%输入图像%加入椒盐噪声点密度为0.7%显示图像%控制窗口数量先显示一个%赋给M%确定精度提高精度%11是(1,1)是开始的点%H为高,L为长L=512;fori=l:Hforj=l:Lflag(ij)=l;endend%像素为512*512%for从1到512%所有点都假定为噪点2.2扩大窗口、确定窗口fori=l:H%大循环forj=l:L%大循环omiga=2;%%%%%%%%确定窗□whileflag(i,j)==lzuo=i-omiga;xia=j-omiga;you=i+omiga;shang=j+omiga;if6、zuo7、数total=5*5=25vectl=zeros(1,total-1);%total-1为去掉中心点kn=l;forin=zuo:you%zuo:youxia:shang为横纵向扫描forjn=xia:shangif((in=i&jn=j)=O)vect1(1,kn)=I(in,jn);%“与”00、01、10满足if%把灰度值赋给vectlkn=kn+l;endendsmin=nanmin(vectl);smax=nanmax(vect1);smed=n
4、寸。若Ai,j的尺寸小于Amax的尺寸,则重复第1步;否则输出fij。2)fmin5、(M);flagll=l;H=512;%清除工作空间的变量%输入图像%加入椒盐噪声点密度为0.7%显示图像%控制窗口数量先显示一个%赋给M%确定精度提高精度%11是(1,1)是开始的点%H为高,L为长L=512;fori=l:Hforj=l:Lflag(ij)=l;endend%像素为512*512%for从1到512%所有点都假定为噪点2.2扩大窗口、确定窗口fori=l:H%大循环forj=l:L%大循环omiga=2;%%%%%%%%确定窗□whileflag(i,j)==lzuo=i-omiga;xia=j-omiga;you=i+omiga;shang=j+omiga;if6、zuo7、数total=5*5=25vectl=zeros(1,total-1);%total-1为去掉中心点kn=l;forin=zuo:you%zuo:youxia:shang为横纵向扫描forjn=xia:shangif((in=i&jn=j)=O)vect1(1,kn)=I(in,jn);%“与”00、01、10满足if%把灰度值赋给vectlkn=kn+l;endendsmin=nanmin(vectl);smax=nanmax(vect1);smed=n
5、(M);flagll=l;H=512;%清除工作空间的变量%输入图像%加入椒盐噪声点密度为0.7%显示图像%控制窗口数量先显示一个%赋给M%确定精度提高精度%11是(1,1)是开始的点%H为高,L为长L=512;fori=l:Hforj=l:Lflag(ij)=l;endend%像素为512*512%for从1到512%所有点都假定为噪点2.2扩大窗口、确定窗口fori=l:H%大循环forj=l:L%大循环omiga=2;%%%%%%%%确定窗□whileflag(i,j)==lzuo=i-omiga;xia=j-omiga;you=i+omiga;shang=j+omiga;if
6、zuo7、数total=5*5=25vectl=zeros(1,total-1);%total-1为去掉中心点kn=l;forin=zuo:you%zuo:youxia:shang为横纵向扫描forjn=xia:shangif((in=i&jn=j)=O)vect1(1,kn)=I(in,jn);%“与”00、01、10满足if%把灰度值赋给vectlkn=kn+l;endendsmin=nanmin(vectl);smax=nanmax(vect1);smed=n
7、数total=5*5=25vectl=zeros(1,total-1);%total-1为去掉中心点kn=l;forin=zuo:you%zuo:youxia:shang为横纵向扫描forjn=xia:shangif((in=i&jn=j)=O)vect1(1,kn)=I(in,jn);%“与”00、01、10满足if%把灰度值赋给vectlkn=kn+l;endendsmin=nanmin(vectl);smax=nanmax(vect1);smed=n
此文档下载收益归作者所有