IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Traitement d'images Discussion :

[Débutante] Segmentation des images


Sujet :

Traitement d'images

  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut [Débutante] Segmentation des images
    bonsoir
    voila, je travaille sur la classification (segmentation)des image et je suis debutante
    mon travaille consiste a calculer l'energie et l'homogeneite d'une image et faire ensuite la classification par k-means.
    je travaille avec matlab 7.0. est ce qu'il ya quelqu'un qui pourra me dire comment je combinerai les deux parametres pour faire la segmentation.est ce par leur somme ou bien leur moyenne ou quoi

    merci et a tres bientot j'espere

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mai 2007
    Messages : 27
    Par défaut
    L'algorithme k-means peut travailler sur des données multivariées. Tu n'a donc pas besoin d'accumuler tes deux descripteurs en un seul. La classification peut se faire sur les deux en même temps.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut
    mais qu'est ce que vous voulez dire par travailler sur des données multivariées(comment)
    merci

  4. #4
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut
    d'apres ce que j'ai compris dans la fonction k-means on utilise une seule fonction
    alors comment je pourrai utiliser les deux fonctions en meme temps sont les combiner
    merci

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mai 2007
    Messages : 27
    Par défaut
    Je cite l'aide matlab sur la fonction kmeans :
    Rows of X correspond to points, columns correspond to variables.
    Ca veut dire que ton vecteur d'entrée, X, peut en fait être une matrice : chaque ligne est une observation (un point de l'espace dans lequel tu fais la classification).
    Si tu classes dans un espace à 1 dimension (par exemple quand tu cherches un seuil à partir d'un histogramme), alors X est de dimension n x 1.
    Si tu classes dans un espace à 2 dimensions (ce qui semble être ton cas), alors X est de dimension n x 2.
    Si tu classes une image en couleurs (3 valeurs pour chaque pixel), alors size(X) = [n 3]. On est dans un forum Matlab, non?
    Etc...

    kmeans te rendra les coordonnées des centres de gravité des classes qu'il aura déterminées, cela quelque soit la valeur de p (ton nombre de variable).
    C'est d'ailleurs le cas de beaucoup de méthodes de classification!

    Si tu trouves que j'emploie des termes étranges, c'est que tu as besoin de te former sur la notion de classification en général. Il faudra lire un petit peu, en commencant par exemple par :
    http://en.wikipedia.org/wiki/Kmeans


    PS: je ne réponds pas aux questions techniques envoyées par MP. Merci.

  6. #6
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut
    bonsoir,
    je vous remercie pour vos explication. le probleme que j'ai rencontré lorsque j'utilise la fonction k-means meme si x est une matrice size[n 2], j'ai afficher les deux parametres dans une matrice dont la première colone represente l'entropie et la deuxieme l'homogeneite , ne prend en consideration que la premiere colone.
    peut etre une erreur dans le code
    y=kmeans(x,3)

    3: nombre de classe

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mai 2007
    Messages : 27
    Par défaut
    Que veux-tu dire par "ne prend en consideration que la premiere colone"?
    As-tu le même résultat si tu ne mets que des zéros dans la deuxième/première colonne?

    As-tu visualisé les centres de gravité (voir le code dans l'aide de matlab)?
    Tu peux aussi essayer de visualiser les deux nuages de points et voir si il sont facilement séparables (même code).

    Pour pouvoir te répondre, j'aurai besoin de plus d'infos sur ce que tu veux faire, tes données, et le reste de ton code. Par exemple, quelle est la valeur de n? As-tu essayé les options 'replicate' et 'start', pour améliorer la qualité du résultat?

  8. #8
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut
    ce que je doit faire est la classification (segmentation) d'image.
    je prend une image je calcule l'entropie et la moyenne.donc j'aurai 2 images(donc pour chaque pixel j'aurai 2 informations).
    apres je doit classifier par la methode des k-means. lorsque je classifie une image de taille (n,n) avec k-means,le resultat est un vecteur nx1,donc il ne classifie que la 1iere colone.donc je doit transformer l'image en un vecteur de taille (nxn,1) apres je classifie.
    mon probleme est comment je pourrai combiner les deux images (2 informations pour chaque pixel) afin d'obtenir un vecteur de (nxn,1) pour classifier avec k-means
    merci

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mai 2007
    Messages : 27
    Par défaut
    J'ai l'impression qu'on tourne un petit peu en rond dans cette discussion.

    Ce que tu n'as (je pense) pas compris à propos de kmeans, c'est que si tu lui donnes en entrée une matrice n x 1 (n étant le nombre total de pixels dans ton image, donc il faut effectivement transformer ton image en un vecteur colonne), kmeans va te rendre un vecteur n x 1, avec les indices des classes attribuées à chaque point : par exemple 0 ou 1 si tu as choisi deux classes.

    Et si tu lui donnes en entrée une matrice n x 2 (dans ton cas tu sembles avoir deux données pour chaque pixel), il te rendra aussi un vecteur n x 1, avec les mêmes informations pour chaque point! C'est juste la notion de "point" qui change. Dans le premier cas, ce sont des points sur une droite à une dimension, et dans le second dans un plan à deux dimensions!

    C'est l'avantage des algorithmes qui peuvent travailler avec en entrée des données multivariées (plus d'une info par point). Ils utilisent conjointement les infos, sans avoir besoins de les combiner en une seule valeur comme tu semblais vouloir le faire au départ.



    Si les choses ne sont pas claires, je te suggère de nous montrer quelques lignes du code que tu as écrit, et de nous les commenter en indiquant les passages qui te gênent ou les erreurs produites.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. segmentation des images
    Par b.yassine dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 18/03/2018, 01h45
  2. Réponses: 10
    Dernier message: 26/02/2008, 15h28
  3. [Itk] Segmentation des images médicales
    Par sidahmed dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 24/01/2008, 13h46
  4. [Débutant] URL des images ?
    Par Mathieu.J dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 03/08/2007, 16h39
  5. [Débutante] Moyenner des images pixel par pixel
    Par Krokro00 dans le forum Images
    Réponses: 7
    Dernier message: 31/05/2007, 15h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo