matlab练习程序(最大中值滤波)

clear; clc; width=3; xwidth=(width-1)/2; imgn=imread(1.bmp); imshow(imgn,[]); imgn=double(imgn); [m n]=size(imgn); imgn1=imgn; z=zeros(4,width); tem=1; for i=1+xwidth:1:m-xwidth for j=1+xwidth:1:n-xwidth     for k=-xwidth:1:xwidth             z(1,tem)=imgn(i,j+k);             z(2,tem)=imgn(i+k,j);             z(3,tem)=imgn(i-k,j+k);             z(4,tem)=imgn(i+k,j+k);             tem=tem+1; end         z1=median(z(1,:));         z2=median(z(2,:));         z3=median(z(3,:));         z4=median(z(4,:));         tem=1;  %       z1=mean([imgn(i,j-1),imgn(i,j),imgn(i,j+1)]);  %       z2=mean([imgn(i-1,j),imgn(i,j),imgn(i+1,j)]);  %       z3=mean([imgn(i+1,j-1),imgn(i,j),imgn(i-1,j+1)]);  %       z4=mean([imgn(i-1,j-1),imgn(i,j),imgn(i+1,j+1)]);         imgn1(i,j)=max([z1,z2,z3,z4]); end end figure,imshow(imgn1,[]);
clear; clc; width=3; xwidth=(width-1)/2; imgn=imread(1.bmp); imshow(imgn,[]); imgn=double(imgn); [m n]=size(imgn); imgn1=imgn; z=zeros(4,width); tem=1; for i=1+xwidth:1:m-xwidth for j=1+xwidth:1:n-xwidth for k=-xwidth:1:xwidth z(1,tem)=imgn(i,j+k); z(2,tem)=imgn(i+k,j); z(3,tem)=imgn(i-k,j+k); z(4,tem)=imgn(i+k,j+k); tem=tem+1; end z1=median(z(1,:)); z2=median(z(2,:)); z3=median(z(3,:)); z4=median(z(4,:)); tem=1; % z1=mean([imgn(i,j-1),imgn(i,j),imgn(i,j+1)]); % z2=mean([imgn(i-1,j),imgn(i,j),imgn(i+1,j)]); % z3=mean([imgn(i+1,j-1),imgn(i,j),imgn(i-1,j+1)]); % z4=mean([imgn(i-1,j-1),imgn(i,j),imgn(i+1,j+1)]); imgn1(i,j)=max([z1,z2,z3,z4]); end end figure,imshow(imgn1,[]);
clear; clc; width=3; xwidth=(width-1)/2; imgn=imread(1.bmp); imshow(imgn,[]); imgn=double(imgn); [m n]=size(imgn); imgn1=imgn; z=zeros(4,width); tem=1; for i=1+xwidth:1:m-xwidth for j=1+xwidth:1:n-xwidth for k=-xwidth:1:xwidth z(1,tem)=imgn(i,j+k); z(2,tem)=imgn(i+k,j); z(3,tem)=imgn(i-k,j+k); z(4,tem)=imgn(i+k,j+k); tem=tem+1; end z1=median(z(1,:)); z2=median(z(2,:)); z3=median(z(3,:)); z4=median(z(4,:)); tem=1; % z1=mean([imgn(i,j-1),imgn(i,j),imgn(i,j+1)]); % z2=mean([imgn(i-1,j),imgn(i,j),imgn(i+1,j)]); % z3=mean([imgn(i+1,j-1),imgn(i,j),imgn(i-1,j+1)]); % z4=mean([imgn(i-1,j-1),imgn(i,j),imgn(i+1,j+1)]); imgn1(i,j)=max([z1,z2,z3,z4]); end end figure,imshow(imgn1,[]);
经验分享 程序员 微信小程序 职场和发展