Segmentation par croissance de région

Résolu
salhiamina Messages postés 9 Date d'inscription samedi 22 septembre 2007 Statut Membre Dernière intervention 20 janvier 2010 - 15 janv. 2010 à 08:36
amamaroua Messages postés 1 Date d'inscription samedi 16 janvier 2016 Statut Membre Dernière intervention 16 janvier 2016 - 16 janv. 2016 à 14:27
Salut tous le monde
j'ai un petit souci avec mon bout de code.
j'essaie d'écrire le code java pour segmenter une image avec l'approche croissance de région.
quand j'exécute le code il m'affiche des exceptions.
est ce que qlq peut m'aider s'il vous plait

//************************Growing****************************
/**
* This method performs the bulk of the processing. It runs a classic stack-based
* region growing algorithm:
* 1 - Find a pixel which is not labeled. Label it and store its coordinates on a
* stack.
* 2 - While there are pixels on the stack, do:
* 3 - Get a pixel from the stack (the pixel being considered).
* 4 - Check its neighboors to see if they are unlabeled and close to the
* considered pixel; if are, label them and store them on the stack.
* 5 - Repeat from 1) until there are no more pixels on the image.
le code est pour une image en entré noir et blanc
*/

private int width,height;
private int[][] labels;

private void Growing(BufferedImage image){
width=image.getWidth();
height=image.getHeight();
labels = new int[width][height];
Stack mustDo = new Stack();

for(int h=0;h

7 réponses

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 26
15 janv. 2010 à 15:04
dans tes boucles, il ne fait pas faire le h <= height mais h < height. pareil pour width.
    
for (int h=0;h < height;h++)
    	 for(int w=0;w < width;w++)
    		 output[count++]=labels[w][h];
1
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 26
15 janv. 2010 à 12:04
Bonjour
L'exception java.lang.ArrayIndexOutOfBoundsException at Growing.ClasseMenu.Growing(ClasseMenu.java:209)
T'indiques que tu utilise une case qui n'existe pas dans ton tableau.
0
salhiamina Messages postés 9 Date d'inscription samedi 22 septembre 2007 Statut Membre Dernière intervention 20 janvier 2010
15 janv. 2010 à 14:49
Bonjour laurent1024
merci pour votre réponse mais j'ai une question de plus! comment je peut faire pour éviter cette erreur?
l'erreur est au niveau de la ligne suivante:
output[count++]= labels[w][h];

j'utilise un tableau à 1 dimension " output " pour stocker les valeurs du "labels"(matrice) et puis je passe "output" comme argument dans
image2   = createImage (new MemoryImageSource( larg,haut, output, 0 ,larg));
pour créer mon image résultat.
Alors quand j'essaie d'afficher la taille de chaque tableau en utilisant:
System.out.println(width);
System.out.println(height);
System.out.println(labels.length);
System.out.println(output.length);

il m'affiche le résultat suivant:
width
384
height
294
labels
384
output
112896
la taille du labels < taille du output!!!!!!
aide moi s'il vous plait
merci d'avance.
0
salhiamina Messages postés 9 Date d'inscription samedi 22 septembre 2007 Statut Membre Dernière intervention 20 janvier 2010
15 janv. 2010 à 17:12
merci bien laurent1024
ça marche...
j'ai une question technique et je ne sais pas est ce que c'est le forum adéquate pour la poser ou non(ou bien je doit créer un nouveau sujet sur le même forum)
pour travailler sur la segmentation d'une image mamographie par croissance de région je suis entrain d'utiliser BufferedImage alors que mon encadreur me propose de convertir l'image à PixelsGraber pour faciliter les choses et pendant mes recherche sur le net j'ai remarqué l'utilisation du PlannerImage avec JMF pour réaliser la segmentation par croissance de région
ma question: quelle est le meilleure choix pour des bonnes résultats?
merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 26
15 janv. 2010 à 17:33
Bonjour.
Je pense que le mieux c'est de faire un nouveau topic sur le forum pour avoir des réponses à tes nouvelles questions.

Cdt
0
dhokaramira Messages postés 3 Date d'inscription jeudi 3 février 2011 Statut Membre Dernière intervention 3 mai 2011
2 mai 2011 à 22:25
Bonjour;
J'utilise le meme code pour segmenter des images imr cérébrales, mais j'ai le meme problème posé ci-dessus, c'est a dire que l'orsque j'essaie d'afficher la taille des tableaux j'ai la taille du labels < taille du output!!!!!! et ceux malgré que j'ai utilisé la recommandation de Laurent1024.
Aidez moi SVP.

[code=java]/code
0
mina023 Messages postés 3 Date d'inscription samedi 16 mai 2009 Statut Membre Dernière intervention 11 mai 2012
10 mai 2012 à 14:34
bonjour, je suis étudiant et nouveau en programmation java, mon projet de fin d'étude : segmentation d'image IRM cérébrale par système Multi-Agent par la méthode classique région ( division fusion) .
Pour cela je dois utiliser les systèmes multi agents et je dois lui intégrer une plate-forme de développement de SMA (JADE (Java Agent DEvelopment Framework)) ,Si quelqu'un a une idée dans ce sujet , particulièrement dans le domaine SMA et comment programmer les agents ,
Merci d'avance.
0
amamaroua Messages postés 1 Date d'inscription samedi 16 janvier 2016 Statut Membre Dernière intervention 16 janvier 2016
16 janv. 2016 à 14:27
Bonjour mina023, je viens de trouver votre commentaire et je souffre également du meme problème, puisque vous l'avez posté en 2012 j'assume que vous avez déjà trouvé une solution, pouvez vous me donner une idée sur l'utilisation des agents dans la segmentation des images? Merci :)
0