网站大量收购独家精品文档,联系QQ:2885784924

自适应中值滤波研究.ppt

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
clear; I=imread(I3_256.bmp); I=imnoise(I,salt pepper, 0.7); imshow(I) figure; M=I; num=1; I=double(I); M=double(M); flag11=1; H=512; L=512; for i=1:H for j=1:L flag(i,j)=1; end end 中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。 清除工作空间的变量 输入图像 加入椒盐噪声点 密度0.7 显示图像 控制窗口数量 先显示一个 赋给M 确定精度 提高精度 11 是(1,1)是开始的点 H为高,L为长 像素512*512 % i横坐标 %j纵坐标 for i=1:H %大循环 for j=1:L %大循环 omiga=2; %%%%%%%%确定窗口 while flag(i,j)==1 zuo=i-omiga; xia=j-omiga; you=i+omiga; shang=j+omiga; if zuo1 zuo=1; end if xia1 xia=1; end if youL you=L; end if shangH shang=H; end %%%%%%%窗口确定结束 omiga=2 是最大滤波半径 恒为一 一直执行 左右上下扩大窗口 滤窗的最大值Smax 要随着噪声的空间密度大 小的变化而进行调整,一般来说,噪声的空间密度大,选择 Smax也要适当地大一些 扩大窗口 但不出边界 i为1、2、3时zuo都是1 , 便是为了不出边界 xia、shang、you同理 %%%%%%%%%%%确定最大最小值 smin=I(i,j); smax=I(i,j); total=(you-zuo+1)*(shang-xia+1); vect1=zeros(1,total-1); kn=1; for in=zuo:you for jn=xia:shang if ((in==ijn==j)==0) vect1(1,kn)=I(in,jn); kn=kn+1; end end end smin=nanmin(vect1); smax=nanmax(vect1); smed=nanmedian(vect1); 给smin、smax初始化 totalshi放大后的像素点的个数 zuo:you xia:shang 为横纵向扫描 “与” 00、01、10 满足if 把灰度值赋给vect1 %%nanmin 包含缺失值的样本的最小值 nanmax 包含缺失值的样本的最大值 %%nanmedian 包含缺失值的样本的中值 v if (smed-smin)0(smax-smed)0 if sminM(i,j)M(i,j)smax flag(i,j)=0; else M(i,j)=smed; I(i,j)=smed; flag(i,j)=0; end 如果像素点的灰度值介于 最大最小之间 则 flag 标记为零 值不变 else 把中值赋给像素点 输出 flag标记为零 得到清晰地像素点 过滤掉噪声点 else omiga=omiga+2; if omiga=5 flag11=0; end if omiga=17 flag11=0; M(i,j)=smed; flag(i,j)=0; end end end%while end%大循环 end%大循环 I=uint8(M); imshow(I); 否则扩大窗口 继续扫描 继续选择 8位的无符号整形数据,取值范围从0到255 0是黑 255是白 输出过滤后图像

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档