ANNEXES
I. ALGORITHME DE LA TRANSFORMATION DE HOUGH
Entrée : Image originale sous forme de tableau :
Image1[xMax][yMax]
Sortie : Nouvel image : Image2[xMax][yMax] contenant les
lignes droites détectées.
Structure intermédiaire des données :
Hough[tMax][rMax] pour déterminer les lignes
correspondantes.
Algorithme :
/*Remplissage du Tableau Hough*/
Pour (x=0 ; x<xMax ; x++){
Pour (x=0 ; x<xMax ; x++){
Si (Image1[x][y]>ISeuil){
Pour (t=0 ; t<tMax ; t++){
r=(x-xMax/2)*cos(t)+(y-yMax/2)*sin(t) ;
Si (r>0) { Hough[][]++;}
}
/*Traitement du tableau Hough pour trouver la valeur
maximale*/
Pour (t=0 ; t<tMax ; t++){
Pour (r=0 ; r<rMax ; r++){
Si (Hough[t][r]>HSeuil) {
/*Vérifier le voisinage 5x5 pour trouver le
maximum*/
max=VRAI ;
Pour (dt=(t-2) ;dt<=(t+2) ;dt++)
Pour (dr=(r-2) ;dr<=(r+2) ;dr++)
Si ((dr>=0) et (dr<rMax) et (dt>=0) et (dt<tMax)
et (Hough[dt][dr]>Hough[t][r])) {
max=FAUX ;
arret ;
}
/*Traitement du tableau Hough pour créer l'image de
sortie */
Si (max==VRAI) {
tracerLigne (r,t) ;
92
} }
Procédure tracerLigne(r,t) {
Pour (x=0 ; x<xMax ;x++)
/* calculer y=r/sin(t)-x*cotg(t) et remplir le tableau Image2
*/
}
II. ALGORITHME ISODATA, TEL QUE MODIFIE PAR JIWON SHIN
ET NICK GUERETTE
seuil = rangée / 2;
Tantque (1) {
moyenne_noir = moyenne_blanc = 0;
compteur_noir = compteur_blanc = 0;
pour toutes les zones i inférieur au seuil
dans l'histogramme {
moyenne_noir + = i * compteur_zone [i];
compteur_noir + = compteur_zone [i];
}
pour toutes les zones i pas inférieur au seuil
dans l'histogramme {
moyenne_blanc + = i * compteur_zone [i];
compteur_blanc + = compteur_zone [i];
}
moyenne_noir = moyenne_noir / compteur_noir;
moyenne_blanc = moyenne_blanc / compteur_blanc;
moyenne_pondérée = ((moyenne_noir * biaisblanc
+
moyenne_blanc * biaisnoir)/
(biaisblanc + biaisnoir));
si moyenne_pondérée == seuil, alors
arreter;
sinon
seuil = moyenne_pondérée;
}
retourner seuil;
III. ALGORITHME DE CROISSANCE DE REGION (`'REGION -
GROWING»)
93
Créer la liste « [S] » des points de
départs (triée pour avoir le centre des plus gros blocs
d'abord)
Pour chaque pixel « P » dans la liste « [S]
»
Si le pixel « P » est déjà associé
à une région, alors prendre le pixel « P » suivant
dans
la liste « [S] »
Créer une nouvelle région « [R] »
Ajouter le pixel « P » dans la région « [R]
»
Calculer la valeur/couleur moyenne de « [R] »
Créer la liste « [N] » des pixels voisins du
pixel « P »
Pour chaque pixel « Pn » dans la liste « [N]
»
Si (« Pn » n'est pas associé à une
région ET « R + Pn » est homogène) Alors
Ajouter le pixel « Pn » dans la région «
[R] »
Ajouter les pixels voisins de « Pn » dans la liste
« [N] »
Recalculer la valeur/couleur moyenne de « [R] »
Fin Si Fin Pour
Fin Pour
IV. DOCUMENTS TABULAIRES UTILISES LORS DES TESTS DU
PROGRAMME
(voir pages suivantes)
A rid el) Organisatïan
|
€ffectEfs
|
Pourcentzge
|
A-.ii.ui;
|
6
|
20
|
Etai :un Ol;lis
|
1
|
3,33
|
Earreau de Bukavu
|
3
|
3,33
|
ADSSE
|
3
|
3,33
|
Presse
|
]
|
3r33
|
fill et Save The Ciilcirer;
LW
|
1
|
3,3:3
|
F.r!s ignCCr'nent
|
1
|
3,33
|
Nativris Unies
|
1
|
3,33
|
NRC et fv1zCREVU
|
1
|
3,33
|
I ·es ASai
|
1
|
3,3.3
|
5000ODEFI, CARITAS -DV'PT
|
1
|
3,33
|
HOPITALDE PANZI
|
I
|
3:33
|
ACTEO
|
4
|
13,33
|
PFLARMAKENA
|
1,
|
3,33
|
I RAUJMA
|
1
|
3,33'
|
OtHA
|
7
|
331
|
C0 1Pv1ERCE
|
2
|
e,66
|
HCR
|
1
|
3,33
|
PNIJ0
|
1
|
3,33
|
HERITIER5 DE EA JUSTICE
|
1
|
3,33
|
AD CIF
|
j
|
:3, :3
|
Total
|
M.3
|
1(30 --
|
I
|