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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| I I= imread('C:\Users\wafaa\Desktop\pfe\PFE\image\images.jpeg') ;
figure(1),imshow(I);
I1=imcrop; %sélectionner une portion de l'image
ss=size(I1);%calculer la taille de l'image
Im=I1;
mf=zeros(ss(1),ss(2));
q=1;
%parcours de l'image à seuiller
for i=1:15:ss(1)
for j=1:15:ss(2)
h=i;hi=i+15;
s=j;sj=j+15;
%si la taile de la dernière portion de l'imge est inf à 15
if(hi>ss(1))
break;
end
if(sj>ss(2))
break;
end
%création d'une matrice vide de taille qui vaut à 15*15
MM=zeros(hi-h,sj-s);
%copier la portion 15*15 dans une matrice vide
o=1;
p=1;
for m=h:hi
for n=s:sj
MM(o,p)=Im(m,n);
p=p+1;
end
o=o+1;
p=1;
end
moyen=mean(mean(MM));
ecart=std(std(MM));
MM=zeros(hi-h+1,sj-s+1);
%calcul du seuil pour la portion 15*15
seuil(q) = moyen *(1 + (1/10)*( 1-( ecart / 256) ))./1.2;
q=q+1;
%appliquer le seuillage sur l'image
k=1;
l=1;
for k=h:hi
for l=s:sj
disp(k);
if(Im(k,l)<seuil(q-1))
%si le pixel inf à seuil, il devient noir
mf(k,l)=0;
end
if(Im(k,l)>=seuil(q-1)) %si le pixel sup ou egal à seuil, il devient blanc
mf(k,l)=256;
end
end
end
end
end
figure(2),imshow(mf); |
Partager