資源簡介
處理高密度椒鹽噪聲的matlab代碼,根據外網上的某一個流程圖寫成的,效果非常好。
代碼片段和文件信息
%fast?switvhing?based?median-mean?filter?for?high?density
%salt?and?pepper?noise?removal
img=imread(‘test02.jpg‘);
img=rgb2gray(img);
F=zeros(512512);
img2=zeros(512512);
X=zeros(33);
Smed=zeros(512512);
%計算圖片中間(不包含2個單位的邊框)所有像素被模版處理過后中值
for?i=3:510
????for?j=3:510
????????X=[img(i-1j-1)img(i-1j)img(i-1j+1);img(ij-1)img(ij)img(ij+1);img(i+1j-1)img(i+1j)img(i+1j+1)];
????????Y=sort(X);
????????YY=sort(Y(2:));
????????y=YY(2);
????????Smed(ij)=y;
????end
end
%算法
for?i=3:510
????for?j=3:510
?????????if?((img(ij)>60)&&(img(ij)<230))%視灰度值60以下,230以上的像素為噪聲
?????????????F(ij)=0;
?????????????img2(ij)=img(ij);
?????????else?
?????????????F(ij)=1;
?????????????if?((60 ?????????????????img2(ij)=Smed(ij);
?????????????else
?????????????????if?((i==3&&j==3)||(i==510&&j==510))
?????????????????????for?n=i-2:i+2
?????????????????????????for?m=j-2:j+2
?????????????????????????????M=zeros(55);
?????????????????????????????M(nm)=img(n
評論
共有 條評論