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 :

Elimination de l'arrière-plan des images pour faire la comparaison des images


Sujet :

Traitement d'images

  1. #1
    Membre du Club Avatar de mobi_bil
    Profil pro
    Inscrit en
    Février 2009
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 242
    Points : 52
    Points
    52
    Par défaut Elimination de l'arrière-plan des images pour faire la comparaison des images
    bonjour à tous ( pseudocode, toto13, les autres).
    Après avoir fait la comparaison entre une image requête et toutes les images d'une base d'images, j'ai trouvé des résultats insatisfaisants.

    notre comparaison des images est basée sur la couleur ( quantification de l'espace HSV selon la methode de pseudocode) :

    La similarité est basée sur l'intersection d'histogrammes.

    Image requête :


    Voici les résultats :


    après avoir pris une nouvelle image requête qui ne contient pas beaucoup de pixels d'arrière-plan, j'ai trouvé des résultats beaucoup mieux.

    Image requête :


    Les résultats :



    Donc j'ai pensé que pour avoir de meilleurs résultats, il faut éliminer l'arrière-plan des images mais je ne sais pas comment?
    Images attachées Images attachées     

  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
    Bonjour,

    j'ai peur que les liens vers tes images soient erronés .
    Edites donc ton poste pour corriger afin que l'on puisse visualiser

    Pour ce qui est de supprimer le fond, je pense qu'il te faudrait tout d'abord segmenter tes objets. Ensuite, tu rempliras ton fond avec des valeurs aberrantes qui ne devront pas être prises en compte lors du remplissage de l'histogramme.
    A ce propos, tu obtiens là une information potentiellement intéressante : le nombre de pixel décrivant l'objet. Si tu as les mêmes paramètres d'acquisition (zoom) ou que pour chaque image tu connais les paramètres, tu pourras ajouter la taille de l'objet comme critère de description supplémentaire.

  3. #3
    Membre du Club Avatar de mobi_bil
    Profil pro
    Inscrit en
    Février 2009
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 242
    Points : 52
    Points
    52
    Par défaut
    bonjour toto13.
    J'ai corrigé. merci.

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Etant donné que tous les fonds sont noir, tu peux utiliser une "baguette magique" (aka. fuzzy selection) en partant des 4 coins de ton image.

    Millie à fait une implémentation de l'algo dans la rubrique contribuez.

  5. #5
    Membre du Club Avatar de mobi_bil
    Profil pro
    Inscrit en
    Février 2009
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 242
    Points : 52
    Points
    52
    Par défaut
    Bonjour pseudocode.

    Millie à fait une implémentation de l'algo dans la rubrique contribuez
    J'aime bien les phrases qui contiennent le mot implementation .
    Je vais voir, merci.

    Désolé, mais je pense qu'on ne peut pas utiliser la méthode "baguette magique". Voir l'exemple ci-dessous.



    Normalement on aura le contraire, la méthode "baguette magique" ne nour rapportent aucune amélioration ?
    Images attachées Images attachées  

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par mobi_bil Voir le message
    Normalement on aura le contraire, la méthode "baguette magique" ne nour rapportent aucune amélioration ?
    Oui, je ne l'ai pas dit, mais à la fin il faut inverser la sélection.

  7. #7
    Membre du Club Avatar de mobi_bil
    Profil pro
    Inscrit en
    Février 2009
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 242
    Points : 52
    Points
    52
    Par défaut
    je pense que le meilleur moyen est de segmenter les images puis extraire de chaque image un contour puis comparer les formes des contours, mais j'ai pas les étapes détaillée de la segmentation et la comparaison des formes. Si vous pouvez m'aider, merci.

  8. #8
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Pour avoir le contour, le mieux c'est un snake ou un levelset.

  9. #9
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Pour avoir le contour, le mieux c'est un snake ou un levelset.
    Bonjour, moi aussi je cherche à faire de la segmentation des images qui contiennent un seul objet, ou puis je trouver plus de détails?

  10. #10
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par bilzzbenzbilz Voir le message
    ou puis je trouver plus de détails?
    Déjà en utilisant la fonction "Recherche" du site .

    Ensuite en utilisant ton moteur de recherche internet habituel.

  11. #11
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    Merci, j'ai trouvé quelque chose.
    http://www.developpez.net/forums/d49...contour-actif/

    pseudocode : Heureux que cela serve à quelqu'un. J'en profite pour citer ici l'article de khayyam90 qui sert de support à cette contribution.


    Juste une question pseudocode.

    quelle est la différence entre les filtres sobel, roberts, prewitt,kirsch .... , canny, snake ? franchement, j'ai rien compris, je ne sais même pas lequel j'utilise?

  12. #12
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par bilzzbenzbilz Voir le message
    Juste une question pseudocode.

    quelle est la différence entre les filtres sobel, roberts, prewitt,kirsch .... , canny, snake ? franchement, j'ai rien compris, je ne sais même pas lequel j'utilise?
    Pour faire simple:

    sobel, roberts, prewitt, kirsch : ce sont des méthodes de calcul de gradient = différence des valeurs entre des pixels voisins

    canny : c'est un détecteur de contour qui recherche le maximum local de la norme du gradient.

    snake : c'est une méthode de segmentation qui construit une ligne de séparation intérieur/extérieur. Usuellement pour séparer un objet du fond.

  13. #13
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    Si j'ai bien compris.
    sobel, roberts, prewitt, kirsch : ce sont des méthodes de calcul de gradient = différence des valeurs entre des pixels voisins
    Une image peut avoir plusieurs gradients, le résultat la convolution de l'image par un de ces filtres donne une image ou on peut bien observer le contour, mais on ne peut pas connaitre les pixels qui constituent le contour?

    canny : c'est un détecteur de contour qui recherche le maximum local de la norme du gradient.
    Canny est un detecteur de contour, c'est à dire l'image résultat est une image ou on peut observer le contour, de plus, par canny, on connais la position de tous les pixels qui constituent le contour?

    snake : c'est une méthode de segmentation qui construit une ligne de séparation intérieur/extérieur. Usuellement pour séparer un objet du fond
    snake connait la position des pixels qui constitut l'objet.

  14. #14
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par bilzzbenzbilz Voir le message
    Une image peut avoir plusieurs gradients, le résultat la convolution de l'image par un de ces filtres donne une image ou on peut bien observer le contour, mais on ne peut pas connaitre les pixels qui constituent le contour?
    Exact.


    Canny est un detecteur de contour, c'est à dire l'image résultat est une image ou on peut observer le contour, de plus, par canny, on connais la position de tous les pixels qui constituent le contour?
    Oui. Mais attention: Canny ne donne pas forcément une courbe fermée !!

    Canny donne des "bouts de courbes" qui sont sur le contour.


    snake connait la position des pixels qui constitut l'objet.
    Hum... non. Le snake donne une courbe fermée qui sépare l'objet et le fond.

    Les points du snake ne sont pas forcément TOUS sur le contour, ou TOUS sur le fond.

  15. #15
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    je suis entrain de tester votre algo snake en java http://www.developpez.net/forums/d49...contour-actif/
    il est trés efficace, mais je veux savoir une chose :

    est ce qu'on peut avec snake creer un "buffered image" qui contient l'image délimiter par le cercle rouge?

    Images attachées Images attachées  

  16. #16
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par bilzzbenzbilz Voir le message
    est ce qu'on peut avec snake creer un "buffered image" qui contient l'image délimiter par le cercle rouge?
    Et bien... tu as vu le retour de la revanche de la "baguette magique" ?

  17. #17
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Et bien... tu as vu le retour de la revanche de la "baguette magique" ?
    je veux un code java libre sans utiliser une biblio propre à qqn.

  18. #18
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par bilzzbenzbilz Voir le message
    je veux un code java libre sans utiliser une biblio propre à qqn.
    A priori, le code de Millie est libre de droits. Sinon, tu peux toujours implémenter toi même la fuzzy selection.

    Et dans ce cas précis, un algo de flood-fill est suffisant. Bref, plein de solutions.

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/01/2013, 13h16
  2. Trouver des images pour faire des jeux de plateaux
    Par Sourrisseau dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 23/05/2009, 16h00
  3. mon arrière plan trop grand pour le bloc
    Par 123quatre dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 07/10/2006, 00h54
  4. Linker un .o avec des archives pour faire un exe
    Par vdumont dans le forum Linux
    Réponses: 4
    Dernier message: 28/03/2006, 22h33
  5. utiliser des morceaux d'une image pour faire des boutons
    Par Battosaiii dans le forum Interfaces Graphiques en Java
    Réponses: 7
    Dernier message: 14/12/2005, 00h05

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