《极值滤波算法MATLAB程序及处理结果对比》由会员分享,可在线阅读,更多相关《极值滤波算法MATLAB程序及处理结果对比(5页珍藏版)》请在人人文库网上搜索。
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);for i=1:depfor j=1:wideif i=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);if a(i,j)=m|a(i,j)=nnew_image(i,j)=median(a(1,1) a(1,2) a(2,1)。
2、 a(2,2);elsenew_image(i,j)=a(i,j);endendif i=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);if a(i,j)=m|a(i,j)=nnew_image(i,j)=median(a(1,wide-1) a(1,wide) a(2,wide-1) a(2,wide);elsenew_image(i,j)=a(i,j);endendif i=dep&j=1m=max(a(dep-1,1) 。
3、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);if a(i,j)=m|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);end endif i=dep&j=widem=max(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,wid。
4、e) a(dep,wide-1) a(dep,wide);if a(i,j)=m|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);endendif i=1&j=1&j=widem=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);if a(i,j)=m|。
5、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);endendif i=dep&j=1&j=widem=max(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);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);if a(i,j)=m|a(i,j)=nnew_i。
6、mage(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);endendif j=1&i=1&i=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);if a(i,j)=m|a(i,j)=nnew_image(i,j)=median(a(i-1,1) a(i-1,。
7、2) a(i,1) a(i,2) a(i+1,1) a(i+1,2);elsenew_image(i,j)=a(i,j);endendif j=wide&i=1&i=depm=max(a(i-1,wide) 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,wide-1) a(i,wide) a(i+1,wide-1) a(i+1,wide);if a(i,j)=m|a(i,j)=nnew_image(i,j)=median(a(i-1,wide) 。
8、a(i-1,wide-1) a(i,wide-1) a(i,wide) a(i+1,wide-1) a(i+1,wide);elsenew_image(i,j)=a(i,j);endendif i=1&i=dep&j=1&j=widem=max(a(i-1,j-1) a(i-1,j) a(i-1,j+1) a(i,j-1) a(i,j) a(i,j+1) a(i+1,j-1) a(i+1,j) a(i+1,j+1);n=min(a(i-1,j-1) a(i-1,j) a(i-1,j+1) a(i,j-1) a(i,j) a(i,j+1) a(i+1,j-1) a(i+1,j) a(i+1,j+1);if a(i,j)=m|a(i,j)=nnew_image(i,j)=median(a(i-1,j-1) a(i-1,j) a(i-1,j+1) a(i,j-1) a(i,j) a(i,j+1) a(i+1,j-1) a(i+1,j) a(i+1,j+1);elsenew_image(i,j)=a(i,j);endendendendfigureimshow(uint8(I)figureimshow(uint8(a)figureimshow(uint8(new_image)3.4.3极值滤波算法仿真实验及结果分析图3-23 加1%脉冲噪声图图3-22 原图图3-24 极值中值滤波处理图。