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'images : recherche d'algorithmes


Sujet :

Traitement d'images

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 66
    Points : 45
    Points
    45
    Par défaut Segmentation d'images : recherche d'algorithmes
    Bonjour,

    Je dois realiser un programme capable d'effectuer de la segmentation d'images (pas de type d'images specifique). J'ai aussi le droit d'utiliser des librairies tant qu'elles ne font pas tout a ma place.
    Je me suis donc renseigne sur le sujet, j'ai lu des posts et articles parlant de ce sujet et donc j'ai plusieurs questions sur le sujet.

    J'ai retenue deux approches qui peuvent etre interessantes, celle par region et celle par contour. Comment favoriser l'une ou l'autre ?
    Ensuite je vois souvent le terme gradient revenir mais je ne comprends pas ce que c'est et je n'arrive pas a en trouver une definition claire.

    Pour finir je n'arrive pas a trouver d'algo clair aussi, je trouve seulement des explications pousses avec des formules mathematiques qui m'echappe !

    Merci d'avance pour votre aide !

  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 : 45
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Citation Envoyé par taspai Voir le message
    J'ai retenue deux approches qui peuvent etre interessantes, celle par region et celle par contour. Comment favoriser l'une ou l'autre ?
    Cela va être problème spécifique, il faut tester.


    Citation Envoyé par taspai Voir le message
    Ensuite je vois souvent le terme gradient revenir mais je ne comprends pas ce que c'est et je n'arrive pas a en trouver une definition claire.
    Si tu as fait un bac scientifique, c'est exactement comme la dérivé en mathématique. Tu étudies les variations du signal (pixels), afin de noter les changement brusques. Regarde des exemples illustrés du gradient de Sobel.

    Citation Envoyé par taspai Voir le message
    Pour finir je n'arrive pas a trouver d'algo clair aussi, je trouve seulement des explications pousses avec des formules mathematiques qui m'echappe !
    Il n'y a quasiment jamais UN SEUL algorithme qui fait tout d'un coup, il faut en combiner plusieurs pour arriver à ses fins.
    Pour les formules mathématiques, pas le choix il faut s'y mettre.
    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 du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Bonjour ToTo13, j'attendais ta venu !

    Si tu as fait un bac scientifique, c'est exactement comme la dérivé en mathématique. Tu étudies les variations du signal (pixels), afin de noter les changement brusques. Regarde des exemples illustrés du gradient de Sobel.
    J'ai bien compris le principe (analyser un groupe de pixels afin de trouver les changements pour definir un contour) mais au niveau de la pratique je coince un peu.

    De ce que j'ai lu sur wikipedia :
    Soit A l'image source, Gx et Gy deux images qui en chaque point contiennent des approximations respectivement de la dérivée horizontale et verticale de chaque point.
    je vois mal comment calculer une derivee horizontale et verticale d'une image car ce n'est pas une fonction mais un ensemble de valeurs rgb ?

    Il n'y a quasiment jamais UN SEUL algorithme qui fait tout d'un coup, il faut en combiner plusieurs pour arriver à ses fins.
    Pour les formules mathématiques, pas le choix il faut s'y mettre.
    Je sais bien qu'il n'y a jamais d'algorithme magique (malheureusement..) mais de ce que j'ai pu voir je n'ai rien trouve a "mon niveau" d'un point de vue des maths car j'ai arrete il y a 4 ans une fois le bac en poche.. mais je vais faire de mon mieux pour arranger ca !

    Merci pour ton aide en tout cas !

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par taspai Voir le message
    De ce que j'ai lu sur wikipedia : je vois mal comment calculer une derivee horizontale et verticale d'une image car ce n'est pas une fonction mais un ensemble de valeurs rgb ?
    admettons qu'on soit en niveaux de gris.. Les pixels vont de 0 à 255 (8 bits).

    Entre le pixel (i,j) et (i,j+1), on peut par exemple calculer dI / dx... (dI = différence intensité = différence niveau) = dérivée en x = gradient en x

    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Bonjour et bonne année !

    Entre le pixel (i,j) et (i,j+1), on peut par exemple calculer dI / dx... (dI = différence intensité = différence niveau) = dérivée en x = gradient en x
    Donc en fait la dérivée est seulement la différence d'intensité de gris ?

    J'ai lu à plusieurs reprises qu'il fallait se mettre en niveau de gris, est-ce réellement une bonne méthode ? Cela ne risque pas de "mélanger des couleurs" comme un vert clair et un rouge clair ?

    Merci de votre aide

  6. #6
    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 : 45
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Citation Envoyé par taspai Voir le message
    Donc en fait la dérivée est seulement la différence d'intensité de gris ?
    oui.
    Mais vu que tu le fais horizontalement et verticalement, il faut ensuite prendre la norme. Par exemple pour un pixel p(x,y) :
    - DX = p(x-1,y) - p(x+1,y)
    - DX = p(x,y-1) - p(x,y+1)
    - D = Sqrt(DX*DX + DY*DY)

    Citation Envoyé par taspai Voir le message
    J'ai lu à plusieurs reprises qu'il fallait se mettre en niveau de gris, est-ce réellement une bonne méthode ? Cela ne risque pas de "mélanger des couleurs" comme un vert clair et un rouge clair ?
    Oui ça mélange effectivement les couleurs.
    Tu peux calculer le gradient pour chaque couleur.
    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.

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Tu peux calculer le gradient pour chaque couleur.
    Exact ! Du coup il faudrait definir un lot de couleurs et trier les regions selon ces couleurs. Il serait par exemple possible de parcourir toute une image pixel par pixel, noter la couleur si elle n'est pas deja relevee et si c'est le cas incrementer une variable representant le nombre d'apparitions de celle-ci. Il suffirait de prendre les x plus presentes par rapport aux x clusters voulus et de lancer le processus des regions a partir de ca.

    Qu'en penses tu ?

  8. #8
    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 : 45
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut

    Les couleurs sont dans des canaux séparés. Donc lorsque tu traites une couleur, normalement c'est comme si tu traitais une image en niveau de gris.
    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.

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Comment ca les couleurs sont dans des cannaux separes ? Tu veux dire que tu travaille separemment avec le rouge, vert et bleu ?

    Pour definir x couleurs je parcours donc l'image et je releve les combinaison (r, g, b), j'ai donc une liste contenant une combinaison rgb ex : (125, 92, 9) plus une variable qui correspond a son nombre d'apparition dans l'image, ensuite je trie cette liste selon le nombre d'apparitions et je prends les x plus presentes.

    Voici un exemple applique a une image representant le vieux logo de jurassic park : Nom : jurassic_park_example.png
Affichages : 285
Taille : 57,4 Ko

    Que pense tu de cette approche ?

  10. #10
    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 : 45
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    On traite les couleurs séparément... du moins c'est ce que tu souhaitais faire. Sinon, tu convertis l'image en niveaux de gris au préalable.
    Si l'encodage sépare les canaux, le traitement est extrêmement plus rapide.

    Par contre je ne comprends pas ce que tu souhaites faire.
    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.

  11. #11
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Si l'encodage sépare les canaux
    Si j'ai bien compris ce que tu appelle canaux c'est le rgb, un canal rouge, un canal vert et un bleu ?

    On traite les couleurs séparément
    C'est ce que je souhaite faire mais peut etre pas de la maniere a laquelle tu pense, je ne souhaite pas traiter selon les canal rgb separes.
    En fait je veux definir les couleurs principales de l'image pour baser mes clusters dessus, les couleurs etant par exemple tu jaune, du violet ou quoi que ce soit. La petite image que j'ai mis au-dessus correpond a la recherche des couleurs les plus presentes, il y a la couleur en rgb et le nombre d'apparitions dans l'image.

    Je ne sais pas si j'ai ete bien clair ?

  12. #12
    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 : 45
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Citation Envoyé par taspai Voir le message
    Si j'ai bien compris ce que tu appelle canaux c'est le rgb, un canal rouge, un canal vert et un bleu ?
    Oui.


    Citation Envoyé par taspai Voir le message
    C'est ce que je souhaite faire mais peut etre pas de la maniere a laquelle tu pense, je ne souhaite pas traiter selon les canal rgb separes.
    En fait je veux definir les couleurs principales de l'image pour baser mes clusters dessus, les couleurs etant par exemple tu jaune, du violet ou quoi que ce soit. La petite image que j'ai mis au-dessus correpond a la recherche des couleurs les plus presentes, il y a la couleur en rgb et le nombre d'apparitions dans l'image.
    Je ne sais pas si j'ai été bien clair ?
    Tu peux faire un simple K-means en donnant les couleurs de chaque pixel.
    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.

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: 0
    Dernier message: 14/03/2015, 09h55
  3. Comment fonctionne l'algorithme markovien dans la segmentation d'image
    Par Papillon de mer dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 18/04/2012, 22h52
  4. Réponses: 0
    Dernier message: 03/11/2009, 20h36
  5. Préfixes segments programmes (PSP) : recherche de doc
    Par pucenet dans le forum Assembleur
    Réponses: 21
    Dernier message: 30/03/2005, 23h05

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