Précédent   Forum du club des développeurs et IT Pro > Autres langages > Algorithmes > Traitement d'images
Traitement d'images Forum d'entraide sur le traitement d'images et l'analyse d'images et de vidéos. Avant de poster : Cours de traitement d'images
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 31/05/2007, 16h09   #1
djsid
Invité régulier
 
Inscription : 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
Type de fichier : png exemple.PNG (30,4 Ko, 29 affichages)
djsid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 16h25   #2
parp1
Membre émérite
 
Avatar de parp1
 
Inscription : mai 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : mai 2005
Messages : 818
Points : 807
Points : 807
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...
parp1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 16h35   #3
djsid
Invité régulier
 
Inscription : mai 2007
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 43
Points : 6
Points : 6
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
Type de fichier : jpg exemple.jpg (3,4 Ko, 24 affichages)
djsid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 16h40   #4
craryb
Membre régulier
 
Inscription : mars 2007
Messages : 124
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 124
Points : 98
Points : 98
Peut etre tracer deux lignes paralleles horizontales et voir une similitude dans l'aternance d'amplitude de la valeur des pixels.
craryb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 16h47   #5
djsid
Invité régulier
 
Inscription : mai 2007
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 43
Points : 6
Points : 6
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
djsid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 17h06   #6
parp1
Membre émérite
 
Avatar de parp1
 
Inscription : mai 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : mai 2005
Messages : 818
Points : 807
Points : 807
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...
parp1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 18h39   #7
SnakemaN
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 084
Points : 1 084

*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
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 21h01   #8
parp1
Membre émérite
 
Avatar de parp1
 
Inscription : mai 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : mai 2005
Messages : 818
Points : 807
Points : 807
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...
parp1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 21h57   #9
djsid
Invité régulier
 
Inscription : mai 2007
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 43
Points : 6
Points : 6
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
djsid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 22h23   #10
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 836
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

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

Informations forums :
Inscription : décembre 2006
Messages : 9 836
Points : 16 515
Points : 16 515
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.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2007, 23h13   #11
acx01b
Membre éclairé
 
Étudiant
Inscription : décembre 2004
Messages : 348
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2004
Messages : 348
Points : 390
Points : 390
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+
acx01b est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 09h03   #12
ol9245
Membre Expert
 
Avatar de ol9245
 
Homme Olivier Planchon
Chercheur
Inscription : avril 2007
Messages : 876
Détails du profil
Informations personnelles :
Nom : Homme Olivier Planchon
Âge : 51
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Chercheur

Informations forums :
Inscription : avril 2007
Messages : 876
Points : 1 043
Points : 1 043
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
__________________
Quelle que soit sa maigreur, les couilles de l'éléphant rempliront une marmite (proverbe gabonais)
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>>>
ol9245 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 09h17   #13
djsid
Invité régulier
 
Inscription : mai 2007
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 43
Points : 6
Points : 6
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
djsid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2007, 14h43   #14
ol9245
Membre Expert
 
Avatar de ol9245
 
Homme Olivier Planchon
Chercheur
Inscription : avril 2007
Messages : 876
Détails du profil
Informations personnelles :
Nom : Homme Olivier Planchon
Âge : 51
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Chercheur

Informations forums :
Inscription : avril 2007
Messages : 876
Points : 1 043
Points : 1 043
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
__________________
Quelle que soit sa maigreur, les couilles de l'éléphant rempliront une marmite (proverbe gabonais)
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>>>
ol9245 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2007, 02h24   #15
vodiem
Expert Confirmé Sénior
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 774
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 41
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 774
Points : 4 340
Points : 4 340
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.
vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 09h47   #16
djsid
Invité régulier
 
Inscription : mai 2007
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 43
Points : 6
Points : 6
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
djsid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 16h39   #17
vodiem
Expert Confirmé Sénior
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 774
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 41
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 774
Points : 4 340
Points : 4 340
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.
vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 10h36   #18
djsid
Invité régulier
 
Inscription : 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
djsid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 16h05   #19
djsid
Invité régulier
 
Inscription : 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
djsid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 16h26   #20
parp1
Membre émérite
 
Avatar de parp1
 
Inscription : mai 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : mai 2005
Messages : 818
Points : 807
Points : 807
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...
parp1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 07h28.


 
 
 
 
Partenaires

Hébergement Web