matlab练习程序(图像加噪,各种滤波)


cl;

img=imread('3.17.tif');
imgn=imnoise(img,'salt & pepper',0.02);
[m n]=size(img);

%h=fspecial('average',[3 3]); % 3*3的均值滤波
%imgn1=imfilter(imgn,h,'replicate');

%imgn=medfilt2(imgn,[3 3]); % 3*3的中值滤波

%%%%自己编写3*3均值滤波
%{
tem=0;
for i=2:1:m-1
for j=2:1:n-1

for p=i-1:1:i+1
for q=j-1:1:j+1
tem=tem+double(imgn(p,q));
end
end

tem=tem/9;
imgn(i,j)=tem;
tem=0;
end
end
%
}

%%%%自己编写3*3中值滤波
%{
s=zeros(1,9);
for i=2:1:m-1
for j=2:1:n-1

he=1;
for p=i-1:1:i+1
for q=j-1:1:j+1
s(he)=imgn(p,q);
he=he+1;
end
end

s=sort(s);
imgn(i,j)=s(5);

end
end
%
}
imshow(imgn)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM