bonjour

je veux implémenter l’algorithme Split and merge sur une image niveau de gris.
alors j'utilise une fonction récursive qui appel 4 sous fonction pour les 4 quadrants tirés a partir de l'image.
le problème est : l'appel a la première fonction marche bien mais pour le deuxième appel la fonction utilise les résultat le la première( 0,0,0,0,tableau).
merci
voila le code que j'ai écrit :

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
 
 
  void split (int x, int y ,int x1 ,int  y1 ,int [][]tableau)
 
        {
 
           if (x1 <= x || y1 <= y )
          {
            println( "c'est la fin "+x+" "+y+" " +x1+" "+y1);
 
 
 
          }     
      else if ( homogene (x,y,x1,y1,tableau))
        {
           println( "garder cette zone");
        }
 
        else
        {
  split(x, y,(int) Math.floor( (x1-x)/2  ),(int) Math.floor( (y1-y)/2  ),tableau);
  split(x,(int) Math.floor( (y1-y)/2  ),(int) Math.floor( (x1-x)/2  ),y1,tableau);
  split((int) Math.floor( (x1-x)/2  ), y,x1,(int) Math.floor( (y1-y)/2  ),tableau);
  split( (int) Math.floor( (x1-x)/2  ), (int) Math.floor( (y1-y),x1,y1,tableau); 
 
        } 
     }