Bonjour tous le monde,
J'ai un projet d'identification de plaque d'immatriculation par traitement d'image sur Matlab. J'ai commencé par la détection de la plaque mais je n'arrive pas à faire le seuillage dans toute l'image.Mon code est le suivant quelqu'un peut m'aider.
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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= imread('v.jpg') ; 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