Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 20 sur 20
  1. #1
    Invité régulier
    Inscrit en
    mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : mai 2007
    Messages : 43
    Points : 6
    Points
    6

    Par défaut Detection d'objets avec une ombre sur une image

    je cherche à récuperer a partir d'une image en niveaux de gris les objets qui ont une ombre par exemple une main. j'ai pensé a faire une correspondance entre deux blocs(objet , ombre) et calculer la correlation entre ces derniers vu que l'ombre est une sorte de transformation de l'objet Mais je ne suis pas sur que ca marche
    Concretement, sur l'image j'ai une main surelevée qui projette une ombre et une autre posée sur la surface qui ne produit aucune.Comment faire pour récuperer juste celle avec une ombre


    quelqu'un aurait une idée de la façon de proceder?

    Merci
    Images attachées Images attachées

  2. #2
    Membre chevronné
    Avatar de parp1
    Profil pro
    Inscrit en
    mai 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : mai 2005
    Messages : 818
    Points : 751
    Points
    751

    Par défaut

    mets une image s'il te plait.

    Euh la je pense que la composante de luminescence n'est pas utilisable.... va falloir faire des morpho peut être.
    Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel

    You are safe in Parp1City .... (AC DC)
    Ensemble luttons contre le chômage de parp1City!



    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  3. #3
    Invité régulier
    Inscrit en
    mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : mai 2007
    Messages : 43
    Points : 6
    Points
    6

    Par défaut

    Citation Envoyé par parp1
    mets une image s'il te plait.

    Euh la je pense que la composante de luminescence n'est pas utilisable.... va falloir faire des morpho peut être.
    oui je pense que ca serait plus clair.
    Mon but etant de differencier les mains ayant une ombre de celles qui n'en ont pas.
    Images attachées Images attachées

  4. #4
    Membre habitué
    Inscrit en
    mars 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 124
    Points : 100
    Points
    100

    Par défaut

    Peut etre tracer deux lignes paralleles horizontales et voir une similitude dans l'aternance d'amplitude de la valeur des pixels.

  5. #5
    Invité régulier
    Inscrit en
    mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : mai 2007
    Messages : 43
    Points : 6
    Points
    6

    Par défaut

    Citation Envoyé par craryb
    Peut etre tracer deux lignes paralleles horizontales et voir une similitude dans l'aternance d'amplitude de la valeur des pixels.
    Excusez moi mais je n'ai pas tout à fait compris votre idée .
    Je tiens a préciser que ca doit etre rapide en plus car je dois faire tourner cet algo en temps réel sur une séquence d'images

  6. #6
    Membre chevronné
    Avatar de parp1
    Profil pro
    Inscrit en
    mai 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : mai 2005
    Messages : 818
    Points : 751
    Points
    751

    Par défaut

    En fait il te propose de comparer deux profils parallèles.

    Le gros soucis, le manque de couleur. J'imagine que tu souhaite commander un pc a l'aide d'une camera filmant un écran sur lequel est projeté l'écran du pc? Une application de ce genre?

    Tu es obligé d'avoir les data en gris? Tu ne peux pas avoir de la couleurs?

    Parce que la ... je pense que ça va être chaud. Pour l'image jointe tu n'as pas en plus gros format et au format png ou gif? pas de jpeg s'il te plais. merci.
    Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel

    You are safe in Parp1City .... (AC DC)
    Ensemble luttons contre le chômage de parp1City!



    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  7. #7
    Membre émérite
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : juillet 2006
    Messages : 871
    Points : 965
    Points
    965

    Par défaut


    *En effet ça m'a tout l'air d'une application de réalité augmentée ou de réalité virtuelle, par contre au dela de la conception, il m'est venu une idée...

    Pourquoi ne pas utiliser de gant ? ou par exemple des gants de la même couleur que ton fond ou d'un couleur bien précise comme on l'utilise en incrustation d'image (vert, bleu..)
    Ce qui fait que tu n'aura de "main d'ombre" que si elle est décalée par rapport au fond.

    Par exemple ici, un gant bien blanc te permettrai de faire une detection de contour sur les ombres en fait.
    Mais je ne pense pas que cela soit utile pour toi car si tu souhaite vraiment faire la différence entre deux mains, cela ne marchera pas, mais peut etre mon idée de gant blanc t'aiguillera vers une solution alternative

    C'est le signe d'un fou, qu'avoir honte d'apprendre
    Ubuntu 10.04 Lucid Lynx @home
    LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu

  8. #8
    Membre chevronné
    Avatar de parp1
    Profil pro
    Inscrit en
    mai 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : mai 2005
    Messages : 818
    Points : 751
    Points
    751

    Par défaut

    Bien vue, mais avec un gant blanc la projection (si c'est bien l'utilisation), la retro projecteur enverra l'image sur le gant et il servira d'écran a son tour...seul une distorsion sera visible.

    On detectera surement l'ombre mais moins bien le gant.
    Tout ceci merite d'être étudié.
    Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel

    You are safe in Parp1City .... (AC DC)
    Ensemble luttons contre le chômage de parp1City!



    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

  9. #9
    Invité régulier
    Inscrit en
    mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : mai 2007
    Messages : 43
    Points : 6
    Points
    6

    Par défaut

    Citation Envoyé par parp1
    En fait il te propose de comparer deux profils parallèles.

    Le gros soucis, le manque de couleur. J'imagine que tu souhaite commander un pc a l'aide d'une camera filmant un écran sur lequel est projeté l'écran du pc? Une application de ce genre?

    Tu es obligé d'avoir les data en gris? Tu ne peux pas avoir de la couleurs?

    Parce que la ... je pense que ça va être chaud. Pour l'image jointe tu n'as pas en plus gros format et au format png ou gif? pas de jpeg s'il te plais. merci.
    c a peu prés ca le but faire de la réalité augmentée
    mais je peux avoir les images en couleur c possible
    l'image c t juste pour illustrer. J'ai remis une photo en couleur
    Ma problematique réside en fait à détecter un pointage de la main et differencier cela de tout autre geste .
    C'est pour cela que si je detecte rien que les mains avec une ombre me permet de dire deja que c'est un geste de pointage plutot qu'une action sur la table

  10. #10
    Rédacteur/Modérateur
    Avatar de pseudocode
    Homme Profil pro Xavier Philippeau
    Architecte système
    Inscrit en
    décembre 2006
    Messages
    9 960
    Détails du profil
    Informations personnelles :
    Nom : Homme Xavier Philippeau
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : décembre 2006
    Messages : 9 960
    Points : 15 081
    Points
    15 081

    Par défaut

    Citation Envoyé par craryb
    Peut etre tracer deux lignes paralleles horizontales et voir une similitude dans l'aternance d'amplitude de la valeur des pixels.
    Bonne idée. Je vois bien un algo du genre:

    1. Filtrage + Seuillage

    2. Boucle: pour chaque ligne parallele
    2a. Calcul de l'Argmax de l'autocorrelation 1D (avec une fenetre glissante de taille environ egale a la distance main/ombre)

    => on obtient un tableau des Argmax d'autocorrelation

    3. recherche dans ce tableau de la plus grande suite de valeurs egales. Les indices de debut/fin de cette suite et la valeur donnent la zone dans laquelle se trouve l'objet ombré.

    (Le tout avec des seuils partout pour eviter les fausses detections)
    Enfin, tout ca reste tres theorique. Aucune idée si ca marche

    Edit: A noter que cette approche est tres novatrice. Generalement, pour les problemes des "finger tracking" on fait juste un pattern matching avec une simple SSD. Evidement, ca doit poser des problemes dans le cas présent (double detection image main / vrai main)
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  11. #11
    Membre éclairé

    Étudiant
    Inscrit en
    décembre 2004
    Messages
    446
    Détails du profil
    Informations personnelles :
    Âge : 28

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2004
    Messages : 446
    Points : 375
    Points
    375

    Par défaut

    salut

    je pense que dans le cas présent il serait possible de faire un algo qui sépare l'image en 3 parties: détection de l'ombre et de son contour,
    du fond et de son contour,
    du reste de l'image et de son contour

    ensuite il sera plus simple d'analyser d'une part l'ombre seule, et d'autre part l'image sans l'ombre et sans le fond

    a+

  12. #12
    Membre émérite
    Avatar de ol9245
    Homme Profil pro Olivier Planchon
    Chercheur
    Inscrit en
    avril 2007
    Messages
    928
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Planchon
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : avril 2007
    Messages : 928
    Points : 989
    Points
    989

    Par défaut

    Citation Envoyé par djsid
    c a peu prés ca le but faire de la réalité augmentée
    mais je peux avoir les images en couleur c possible
    l'image c t juste pour illustrer. J'ai remis une photo en couleur
    Ma problematique réside en fait à détecter un pointage de la main et differencier cela de tout autre geste .
    C'est pour cela que si je detecte rien que les mains avec une ombre me permet de dire deja que c'est un geste de pointage plutot qu'une action sur la table
    en couleur, l'ombre ne devrait faire changer que la luminance, pas la chrominance ni la saturation (en gros, sous l'ombre, tu as la même couleur du fond que tu connais, en plus sombre). donc changement de luminance seule = ombre, changement de tous les canaux = la main.

    maintenant, si tu décris plus en détail ton problème, on pourra peut-être t'aider à trouver une stratégie adaptée car, pour faire du temps réel, il faut souvent adopter des raccourcis malins qui dépendent du détail des objectifs à atteindre.
    OL
    "True greatness is measured by how much freedom you give to others, not by how much you can coerce others to do what you want." Larry Wall.
    Matlab 7.12.0.635 (R2011a), Ubuntu 12.04 64bits. <<<Je ne réponds pas aux messages privés techniques. Merci de poster les questions techniques sur les forums, comme c'est recommandé ICI>>>

  13. #13
    Invité régulier
    Inscrit en
    mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : mai 2007
    Messages : 43
    Points : 6
    Points
    6

    Par défaut

    Citation Envoyé par ol9245
    en couleur, l'ombre ne devrait faire changer que la luminance, pas la chrominance ni la saturation (en gros, sous l'ombre, tu as la même couleur du fond que tu connais, en plus sombre). donc changement de luminance seule = ombre, changement de tous les canaux = la main.

    maintenant, si tu décris plus en détail ton problème, on pourra peut-être t'aider à trouver une stratégie adaptée car, pour faire du temps réel, il faut souvent adopter des raccourcis malins qui dépendent du détail des objectifs à atteindre.
    OL
    Voila à la base , je suis parti sur un simple seuillage qui m'a obtenu la main par rapport au fond. J'ai fait de la morpho pour obtenir un squelette de ma main que j'ai seuillé juste pour obtenir les doigts . Mon but étant de detecter des directions de pointage. Malheureusement, je me suis apercu que le fait qu'un objet du fond soit sombre faussait mon seuillage et donc mon squelette.

    J'ai donc besoin de faire un prétaitement qui me separera le fond de ma ou mes mains. Je suis dans une configuration ou je n'ai qu'une camera. Si jen avais deux qui filmaient la scene le probleme serait plus facile vu que je saurais la profondeur de mes objets.
    c'est pour cela que je me suis dis que si j'arrivai à récuperer rien que les objets ayant une ombre je devrais régler le probleme tout en exploitant ce que j'ai deja codé auparavant

  14. #14
    Membre émérite
    Avatar de ol9245
    Homme Profil pro Olivier Planchon
    Chercheur
    Inscrit en
    avril 2007
    Messages
    928
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Planchon
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : avril 2007
    Messages : 928
    Points : 989
    Points
    989

    Par défaut

    est-ce que tu peux avir une mémoire du fond ? (sous l'hypothèse que ta main bouge plus vite que le fond) dans ce cas, la différence entre le fond connu et l'image courrante te donne la main. et là ou la crominance n'a pas bougé mais la luminance a diminué, c'est l'ombre de la main. C'est exploitable pour toi comme heuristique ou pas ?
    N'oublie pas que la morphomath en temps réel, c'est chaud...
    OL
    "True greatness is measured by how much freedom you give to others, not by how much you can coerce others to do what you want." Larry Wall.
    Matlab 7.12.0.635 (R2011a), Ubuntu 12.04 64bits. <<<Je ne réponds pas aux messages privés techniques. Merci de poster les questions techniques sur les forums, comme c'est recommandé ICI>>>

  15. #15
    Expert Confirmé Sénior Avatar de vodiem
    Homme Profil pro Diem VO
    Vivre
    Inscrit en
    avril 2006
    Messages
    2 849
    Détails du profil
    Informations personnelles :
    Nom : Homme Diem VO
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2006
    Messages : 2 849
    Points : 4 014
    Points
    4 014

    Par défaut

    salut, moi je suis novice et j'ai pas toute vos connaissance alors désolé si je suis hors propos:
    le résultat que je propose est ci-dessous en pièce jointe.
    voici ce que j'ai fait:
    l'objectif étant de récupérer la direction de pointage je ne recherche pas à retirer l'ombre.
    ombre => geste de pointage
    ombre => l'image partielle du geste mais avec la direction de pointage.

    donc 1er étape: j'ai selectionné les pixels de l'image ayant la couleur de l'ombre avec une certaine tolérance pour récupérer l'ombre.
    2eme étape: utiliser un filtre accentuant les traits de l'image. dans cet exemple j'ai utilisé photoshop cs2/filtres/artistiques/découpage/niveau 4, simplicité 4, fidélité 2.
    l'image résultant donne une ligne suffisamment franche pour extraire la direction.

    ca c'est l'idée... j'espère que ca aidera à avancer dans la solus.

  16. #16
    Invité régulier
    Inscrit en
    mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : mai 2007
    Messages : 43
    Points : 6
    Points
    6

    Par défaut

    Citation Envoyé par vodiem
    salut, moi je suis novice et j'ai pas toute vos connaissance alors désolé si je suis hors propos:
    le résultat que je propose est ci-dessous en pièce jointe.
    voici ce que j'ai fait:
    l'objectif étant de récupérer la direction de pointage je ne recherche pas à retirer l'ombre.
    ombre => geste de pointage
    ombre => l'image partielle du geste mais avec la direction de pointage.

    donc 1er étape: j'ai selectionné les pixels de l'image ayant la couleur de l'ombre avec une certaine tolérance pour récupérer l'ombre.
    2eme étape: utiliser un filtre accentuant les traits de l'image. dans cet exemple j'ai utilisé photoshop cs2/filtres/artistiques/découpage/niveau 4, simplicité 4, fidélité 2.
    l'image résultant donne une ligne suffisamment franche pour extraire la direction.

    ca c'est l'idée... j'espère que ca aidera à avancer dans la solus.
    Effectivement ta solution parait attrayante mais comme c sur photoshop ca m'aide pas . Le must sera de programmer le filtre qu'utilise photoshop encore faut il esperer que les temps de calcul ne soient pas immenses.J'ai une contrainte de temps réel je pense pas que ca puisse marcher mais Merci comme meme.
    A vrai dire je n'esperai pas que mon post susciterait tant d'interet.
    Je vous tiens au courant des que j'aurais quelquechose de concret.

    Continuez de poster vos idées ca minteresse toujours

  17. #17
    Expert Confirmé Sénior Avatar de vodiem
    Homme Profil pro Diem VO
    Vivre
    Inscrit en
    avril 2006
    Messages
    2 849
    Détails du profil
    Informations personnelles :
    Nom : Homme Diem VO
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : avril 2006
    Messages : 2 849
    Points : 4 014
    Points
    4 014

    Par défaut

    je sais bien c'est pas forcément exploitable avec photoshop mais c'était l'idée voici une autre image réalisé avec des traitements plus classique:
    après étape 1: selection des pixels proches de l'ombre
    étape 2bis: flou gaussien+réglage de niveau (ils ne doivent pas être trop difficile à obtenir ou sont intégrés dans plusieurs logiciels)
    le résultat est join en bas
    une recherche de l'extremité du doigt et du début de bras n'est pas trop difficile. je pense que cela donne une bonne approximation de la direction.
    et cela devrait être assez rapide.
    autrement il est possible encore de rééchantillonner pour réduire le calcul.

  18. #18
    Invité régulier
    Inscrit en
    mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : mai 2007
    Messages : 43
    Points : 6
    Points
    6

    Par défaut Detection d'une main sur fond variable

    Toujours dans l'optique de detection une direction de pointage. Je me demandais s'il exsite pas des métriques pas très compliquées pour correspondre un point de la main avec son homologue de l'ombre de cette facon on extrairait les mains puis on ne garderait que celles reposant sur le critere. Qu'est ce que vous en pensez
    Faites moi part de vos idées ?
    Merci

  19. #19
    Invité régulier
    Inscrit en
    mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : mai 2007
    Messages : 43
    Points : 6
    Points
    6

    Par défaut Detection de la direction

    Bonjour tout le monde
    Ca fait longtemps que je n'ai pas donné de mes nouvelles.
    En fait tout compte fait , aujourdhui j'ai recentré mon probleme , j'arrive à récupérer les mains avec une ombre avec comme seuil la taille de la composante connexe. Mon problème alors est de déduire la direction de pointage.
    Pour cela , je voudrais savoir s'il ya des algo qui detectent des lignes ou des axes dans une direction donnée?
    Que me conseillez vous ?

    Merci

  20. #20
    Membre chevronné
    Avatar de parp1
    Profil pro
    Inscrit en
    mai 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : mai 2005
    Messages : 818
    Points : 751
    Points
    751

    Par défaut

    Bien que je ne l'ai jamais utiliser, et que je ne sais meme pas comment ca fonctionne, je vais te dire Hought ou un truc dans le genre. Je l'ai vu beaucoup de fois sur ce forum avec des detections d'ellispe... etc etc.
    Dis moi qui tu suis, je te dirais qui je Hais!
    Heureux est l'étudiant, qui comme la rivière suit son cours sans sortir de son lit

    Mon premier Tutoriel

    You are safe in Parp1City .... (AC DC)
    Ensemble luttons contre le chômage de parp1City!



    A 80% des cas je résouts mon problème en rédigeant une nouvelle discussion, du coup je ne poste que 20% de mes problèmes...

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •