clear all;
img=imread('eight.tif');
%bruiter l'image
A = imnoise(img,'salt & pepper', 0.02);
% A=imnoise(img,'poisson');
% A= imnoise(img,'gaussian',0.1,0.1);
%A = imnoise(img,'speckle',0.04);
Adbl=im2double(A);
B=Miroir_Expand(Adbl);
B=Miroir_Expand(B);
[Em,En]=size(B);
for k=4:Em-2
for l=4:En-2
V=[B(k-2,l-2) B(k-2,l-1) B(k-2,l) B(k-2,l+1) B(k-2,l+2); ...
B(k-1,l-2) B(k-1,l-1) B(k-1,l) B(k-1,l+1) B(k-1,l+2);...
B(k,l-2) B(k,l-1) B(k,l) B(k,l+1) B(k,l+2); ...
B(k+1,l-2) B(k+1,l-1) B(k+1,l) B(k+1,l+1) B(k+1,l+2);...
B(k+2,l-2) B(k+2,l-1) B(k+2,l) B(k+2,l+1) B(k+2,l+2)];
% les neuf voisinages et on les arranges dans une matrice U 9x9
U=zeros(9,9);
VB1=V(1:3,1:3); U(:,1)=[VB1(1,:)';VB1(2,:)';VB1(3,:)'];
VB2=V(2:4,1:3); U(:,2)=[VB2(1,:)';VB2(2,:)';VB2(3,:)'];
VB3=V(3:5,1:3); U(:,3)=[VB3(1,:)';VB3(2,:)';VB3(3,:)'];
VB4=V(1:3,2:4); U(:,4)=[VB4(1,:)';VB4(2,:)';VB4(3,:)'];
VB5=V(2:4,2:4); U(:,5)=[VB5(1,:)';VB5(2,:)';VB5(3,:)'];
VB6=V(3:5,2:4); U(:,6)=[VB6(1,:)';VB6(2,:)';VB6(3,:)'];
VB7=V(1:3,3:5); U(:,7)=[VB7(1,:)';VB7(2,:)';VB7(3,:)'];
VB8=V(2:4,3:5); U(:,8)=[VB8(1,:)';VB8(2,:)';VB8(3,:)'];
VB9=V(3:5,3:5); U(:,9)=[VB9(1,:)';VB9(2,:)';VB9(3,:)'];
%calcul des variances
v=std(U);
% affectation
[minv,index]=min(v);
B(k,l) = mean( U(:,index) );
% w=tris_croissant(U(:,index));
%B(i,j)= w(5);
end
end
Adbl=Miroir_Extract(B); Adbl=Miroir_Extract(Adbl);
Aint=im2uint8(Adbl);
figure;imshow(Aint,[]);
title('image filtr�e en nagmod ')