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 :

Segmentation d'image


Sujet :

Traitement d'images

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut Segmentation d'image
    Salut à tous,

    Je débute dans ce domaine (segmentation d'image) et je voudrais faire une petite appli qui fait de la segmentation d'image suivant l'algorithme region growing (avec les gérmes).

    Mais j'ai vraiment beaucoup de mal à commencer ou faire des trucs tout simple, alors toutes idée ou exemple de programmes du quels je pourrais m'inspirer me serait d'une grande aide.

    Merci d'avance à vous.
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    il existe des centaines voire des milliers d'articles sur la segmentation d'images. De plus, chaque type d'image a ses propres méthodes de segmentation. Donc quel type d'image as tu ? Donnes nous un exemple !

    En revanche, il me semble que la propagation des germes sert à compter le nombre de composante connexe et se dans une image binaire. Du moins, c'est comme cela que je l'ai toujours vu utilisé. Montres moi une de tes images et détaille moi l'algo de segmentation !
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Membre chevronné Avatar de Flo.
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Par défaut
    Salut,

    non pas forcément ...

    Imagine une image en niveaux de gris d'un objet présentant des défauts.

    Tu fais une extraction des variations de l'image (par une différence de gaussiennes par exemple). Tu obtiens donc une image en niveaux de gris que tu peux seuiller strictement.

    Pour chaque défaut de ton objet tu as (on peut l'espérer ) une petite région de pixels blancs correspondant. Tu peux alors récupérer la totalité du défaut en faisant une croissance de régions dont les germes sont les variations extraites et seuillées de l'image.

    Note que la binarisation des variations n'est pas une phase obligatoire et les germes peuvent rester en niveaux de gris et que le taux de propagation peut varier en fonction de ce niveau de gris. Ya évidement un premier seuillage à faire pour les variations moindres mais ensuite on peut dire un truc du style "plus les variations sont importantes, plus je m'autorise pour ce germe une propagation importante".

    On dénigre de plus en plus la croissance de régions au profit d'algos plus complexes (et plus efficaces des fois bien sur) comme les snakes, et autres barbaries d'universitaires (je suis méchant là ). Et la croissance de régions c'est juste bon pour la magic wand de gimp.

    Mais on oublie souvent que c'est une méthode de segmentation sur une image en niveau de gris très efficace quand bien contrôlée et qui est un bon compromis entre temps de calcul (je ne suis pas un universitaire ) et efficacité. Si tu espères segmenter une image sur du 10 images / seconde tu vas vite reconsidérer la croissance de régions. Avec un snake et un Gradient Vector Flow, du 10 images / seconde, c'est pas gagné.

    Bref, sur de nombreuses applications, ou l'image n'est pas "simplement" seuillable, la croissance de régions est un outil de segmentation à part entière.

    Quant au pseudo code pour la croissance de régions, j'avais donner un pseudo-code sur ce post :

    http://www.developpez.net/forums/vie...er=asc&start=0

    Pour commencer dans le traitement et l'analyse d'image c'est un très bon et très joli algo à maitriser et à programmer. Si ce pseudo code te convient pas, fais le savoir.

    A+

    Flo.

    PS : Note que j'ai absoluement rien contre les universitaires (bien au contraire) ... Je suis l'évolution des travaux universitaires (français ou étrangers) avec passion. Je dis ça parce que je viens de voir que t'étais en doctorat . C'était pas dirigé je veux dire.

  4. #4
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    pour petites info, les snakes et les autres bizareries , sont extremement efficace et robuste, mais affreusement lent.

    pour le germe, il te faudra fixer un seuil, cela revient donc quelque part à binariser ton image

    En tout cas ce que j'ai marqué au dessus reste valable, il nous faudrait vois les images
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  5. #5
    Membre chevronné Avatar de Flo.
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2002
    Messages : 379
    Par défaut
    Oui et non,

    comme je t'ai dit la croissance de regions peut se faire sans problème sur une image en niveaux de gris avec des germes en niveaux de gris. Le seuillage que j'évoque concerne seulement l'élimination des faibles variations (niveaux de gris inférieurs à un seuil dynamique ou pas) mais les variations supérieures ne sont pas modifiées et servent, telles quelles, à controler l'expansion de la croissance de région pour le germe en cours. Plus c'est blanc, plus le germe pourra se développer (ou l'inverse selon le besoin).

    D'un autre côté, il y a toujours des seuils ou des valeurs à fixer. La méthode sans paramétrage n'existe pas. Donc le paramétrage est toujours présent, qu'il intervienne à tel ou tel endroit.

    Pour un snake, (qui aboutit également à une binarisation dehors / dedans ), ce sont les coefficients d'élasticité, de courbure, etc. Pour la croissance de régions, la tolérance de croissance, les taux de propagation, etc.

    Le paramétrage est quelque chose d'inhérent à un algorithme de traitement d'image ne serait-ce que le choix du type de connexité pour une simple érosion binaire. Et les méthodes bien compliquées comme les snakes ne sont seulement que des méthodes (de segmentation et) de binarisation.

    Hé oui c'est pas quelque chose qui transparaît pas dans la théorie mais une segmentation c'est une binarisation complexe : la question est bien : est-on à l'intérieur ou l'extérieur de tel objet ? (pour une "simple" binarisation, on se préoccupe tout simplement pas du mot "tel", c'est tout).

    A+

    Flo.

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Salut

    merci de m'avoir répondu (je suis dsl si j'ai mis autant de tps à réagir), mais en fait les pseudo algo, j'ai vu un peu (c bien celui la ci-dessous) bon ca me di vraiment rien (je ne croi qu'il puisse m'aider en quelque chose).

    En fait ce que je veux c segmenter une image, prendre une image simple, puis essayer en faisant un niveau de gris de retrouver les formes de base les colorier (on le fait en faisant des germes, qui est défini au départ par un point et on regroupe avec les points voisin s'ils ont le même niveau de gris avec un certain seuil) puis enfin chaque à chaque région on peu associer une couleur pour que ça soit bien visible. Voila c un truc dans le genre que je veux mais bon j'ai bcp de mal à implementer tou ca et malgré de langue recherche je ne trouve pas d'exemple d'implémentation, c'est pour ceci que je poste ici, si vous l'avez déja fait et que vous avez une appli qui le fait alors votre aide me serais d'un grande secours.

    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
    Tu mets le bord de l'image en blanc
     
    Pixel(1, 1) = blanc
     
    Tu insères dans la liste (initialement vide) son index = 1 * largeur + 1
     
    Tant que la liste n'est pas vide :
     
            tu récupères le 1er index de la liste
     
            Pour chacun de ses 8 voisins :
     
                    Si le voisin est blanc :
                            tu ne fais rien
                    Sinon :
                            tu le mets en blanc
                            tu insères son index dans la liste
                    Fin Si
     
            Fin Pour
     
            tu supprimes le 1er index de la liste
     
    Fin Tant

    En tout cas merci beaucoup de votre intervention.
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

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, 02h45
  2. Segmentation d'images médicales
    Par Billi dans le forum Traitement d'images
    Réponses: 18
    Dernier message: 22/05/2007, 17h03
  3. Segmentation d'image couleur
    Par hanane78 dans le forum Images
    Réponses: 1
    Dernier message: 26/01/2007, 13h15
  4. Segmenter une image par une gaussienne 2d
    Par RASS15 dans le forum Images
    Réponses: 1
    Dernier message: 12/12/2006, 11h44
  5. Segmentation d'image
    Par rad_hass dans le forum OpenGL
    Réponses: 3
    Dernier message: 12/04/2006, 16h50

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