资源描述:
《极值滤波算法MATLAB程序及处理结果对比.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、极值滤波算法Matlab程序代码使用Matlab软件编程,程序如下I=imread('Lena.bmp');a=imnoise(I,'salt&pepper',0.05);a=double(a);[dep,wide]=size(a);new_image=ones(size(a));fori=1:depforj=1:wideifi==1&j==1m=max([a(1,1)a(1,2)a(2,1)a(2,2)]);n=min([a(1,1)a(1,2)a(2,1)a(2,2)]);ifa(i,j)==m
2、a(i,j)==nnew_image(
3、i,j)=median([a(1,1)a(1,2)a(2,1)a(2,2)]);elsenew_image(i,j)=a(i,j);endendifi==1&j==widem=max([a(1,wide-1)a(1,wide)a(2,wide-1)a(2,wide)]);n=min([a(1,wide-1)a(1,wide)a(2,wide-1)a(2,wide)]);ifa(i,j)==m
4、a(i,j)==nnew_image(i,j)=median([a(1,wide-1)a(1,wide)a(2,wide-1)a(2,wide)])
5、;elsenew_image(i,j)=a(i,j);endendifi==dep&j==1m=max([a(dep-1,1)a(dep,1)a(dep-1,2)a(dep,2)]);n=min([a(dep-1,1)a(dep,1)a(dep-1,2)a(dep,2)]);ifa(i,j)==m
6、a(i,j)==nnew_image(i,j)=median([a(dep-1,1)a(dep,1)a(dep-1,2)a(dep,2)]);elsenew_image(i,j)=a(i,j);endendifi==dep&j==widem=m
7、ax([a(dep-1,wide-1)a(dep-1,wide)a(dep,wide-1)a(dep,wide)]);n=min([a(dep-1,wide-1)a(dep-1,wide)a(dep,wide-1)a(dep,wide)]);ifa(i,j)==m
8、a(i,j)==nnew_image(i,j)=median([a(dep-1,wide-1)a(dep-1,wide)a(dep,wide-1)a(dep,wide)]);elsenew_image(i,j)=a(i,j);endendifi==1&j~=1&j~=widem
9、=max([a(1,j-1)a(2,j-1)a(2,j)a(2,j+1)a(1,j+1)a(i,j)]);n=min([a(1,j-1)a(2,j-1)a(2,j)a(2,j+1)a(1,j+1)a(i,j)]);ifa(i,j)==m
10、a(i,j)==nnew_image(i,j)=median([a(1,j-1)a(2,j-1)a(2,j)a(2,j+1)a(1,j+1)a(i,j)]);elsenew_image(i,j)=a(i,j);endendifi==dep&j~=1&j~=widem=max([a(dep,j-1)a(de
11、p-1,j-1)a(dep-1,j)a(dep-1,j+1)a(dep,j+1)a(i,j)]);n=min([a(dep,j-1)a(dep-1,j-1)a(dep-1,j)a(dep-1,j+1)a(dep,j+1)a(i,j)]);ifa(i,j)==m
12、a(i,j)==nnew_image(i,j)=median([a(dep,j-1)a(dep-1,j-1)a(dep-1,j)a(dep-1,j+1)a(dep,j+1)a(i,j)]);elsenew_image(i,j)=a(i,j);endendifj==1&i~=1&i~
13、=depm=max([a(i-1,1)a(i-1,2)a(i,1)a(i,2)a(i+1,1)a(i+1,2)]);n=min([a(i-1,1)a(i-1,2)a(i,1)a(i,2)a(i+1,1)a(i+1,2)]);ifa(i,j)==m
14、a(i,j)==nnew_image(i,j)=median([a(i-1,1)a(i-1,2)a(i,1)a(i,2)a(i+1,1)a(i+1,2)]);elsenew_image(i,j)=a(i,j);endendifj==wide&i~=1&i~=depm=max([a(i-1,wid
15、e)a(i-1,wide-1)a(i,wide-1)a(i,wide)a(i+1,wide-1)a(i+1,wide)]);n=min([a(i-1,wide)a(i-1,wide-1)a(i