1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
img_seg = zeros(size(ImgFiltree)); % image segmenter
img_orig_sizes = size(ImgFiltree); % Dimensions image segmenter
A=img_orig_sizes(1);%Nbr lignes
B=img_orig_sizes(2);%Nbr Colonnes
T=4.5 % Seuil
for l=2:1:A-1
for c=2:1:B-1
if c==2,I=double(ImgFiltree(l,c)); % I=niveau de gris à la position(l,c)
else I=Moy;
end
J=double(ImgFiltree(l,c+1)); % J=niveau de gris à la position(l,c+1)
diff=abs(I-J);
if diff<T
Moy=(I+J)/2; % Moyenne entre I et J
P=img_seg(l,c); % juste pour le test P=niveau gris (l,c) initial
R=img_seg(l,c+1); % juste pour le test R=niveau gris (l,c+1)initial
img_seg(l,c)=Moy; % copie la valeur Moyenne dans l'image seg
img_seg(l,c+1)=Moy; % copier la valeur Moyenne dans l'image seg
P=img_seg(l,c);% juste pour le test P=niveau gris (l,c) final
R=img_seg(l,c+1);% juste pour le test R=niveau gris (l,c+1)final
for k=c-1:-1:2 %cette boucle modifie ts les pixel précédents possèdent le même niveau de gris que I
P=img_seg(l,c);
if img_seg(l,k)==old_moy
img_seg(l,k)=Moy;
P=img_seg(l,c);
else
k=2;
end
end
old_moy=Moy;
end
end
end |
Partager