Bonjour tout le monde,
je cherche a implementer un algorithme pour segmenter une image .....
Il parait que l'algorithme Split and merge est le plus adequat pour mon projet..

donc apres plein de lecture ...
j ai ecrit un algorithme recursive de split...
je cherche a verifier si il est correcte:

x1/y1 et x2/y2 les coordonnes des pixels formant la diagonale de mon image!

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
 
split(x1,y1,x2,y2,img)
//traitement de la partie haut gauche
  si (homogene(x1,y1,(x2-x1)/2,(y2-y1)/2)==true)
          remplacer_moyenne_couleur((x1,y1,(x2-x1)/2,(y2-y1)/2)
  sinon split(x1,y1,(x2-x1)/2,(y2-y1)/2,img)
 
 
(x2-x1)/2,y1,x2,(y2-y1)/2
 
//traitement de la partie haut droite
  si (homogene( (x2-x1)/2 , y1 , x2 , (y2-y1)/2 ) == true)
          remplacer_moyenne_couleur( (x2-x1)/2 , y1 , x2 , (y2-y1)/2) )
  sinon split((x2-x1)/2,y1,x2,(y2-y1)/2),img)
 
 
//traitement de la partie bas gauche
  si (homogene( x1 , (y2-y1)/2 , (x2-x1)/2 , y2 ) == true)
          remplacer_moyenne_couleur( x1 , (y2-y1)/2 , (x2-x1)/2 , y2 )
  sinon split( x1 , (y2-y1)/2 , (x2-x1)/2 , y2 )  
 
 
//traitement de la partie bas droite
  si (homogene( (x2-x1)/2 , (y2-y1)/2 , x2 , y2 )==true)
          remplacer_moyenne_couleur( (x2-x1)/2 , (y2-y1)/2 , x2 , y2 )
  sinon split( (x2-x1)/2 , (y2-y1)/2 , x2 , y2 ,img)
  retourner true
la fonction "homogene" verifie si une region est homogene ou nn
la fonction "remplacer_moyenne_couleur" unifie les couleurs d'une meme region par une meme couleur

je ne sais pas comment implementer la quadtree pour effectuer ensuite la fonction merge !!