Gestion d'une webcam
Bonjour à tous,
j'ai acheté une webcam il y a quelques jours et j'ai une petite idée de développement qui me trote dans la tête. Le problème est que cette idée demande des connaissances que je n'ai pas. Je suis intéressé à les acquérir, mais avant d'y passer des heures, j'aimerais entendre votre avis sur la chose !
Le but : reconnaitre un point lumineux (par exemple) avec une webcam et en faire le suivi (coordonnées x et y) en temps réel (ou presque). Une personne est devant son ordi, webcam allumée, avec une casquette sur la tête. Sur cette casquette, une LED, par exemple. Le but étant d'avoir une source lumineuse qui pourrait être "extraite" de l'image en lui appliquant des filtres par exemple.
Les points auxquels j'ai pensé :
1. capture des images issues de la webcam (comment faire, mystère !)
2. passage par un ou plusieurs filtre pour arriver à une image du genre noire avec un point blanc (la LED)
3. "lecture" de l'image pour localiser le point blanc.
Je me demande si les points 1 et 2 ne pourraient pas être fait avec Quartz ?!?!
Voilà ou en est ma réflexion.
Des avis, des conseils, ... ?
Merci !
j'ai acheté une webcam il y a quelques jours et j'ai une petite idée de développement qui me trote dans la tête. Le problème est que cette idée demande des connaissances que je n'ai pas. Je suis intéressé à les acquérir, mais avant d'y passer des heures, j'aimerais entendre votre avis sur la chose !
Le but : reconnaitre un point lumineux (par exemple) avec une webcam et en faire le suivi (coordonnées x et y) en temps réel (ou presque). Une personne est devant son ordi, webcam allumée, avec une casquette sur la tête. Sur cette casquette, une LED, par exemple. Le but étant d'avoir une source lumineuse qui pourrait être "extraite" de l'image en lui appliquant des filtres par exemple.
Les points auxquels j'ai pensé :
1. capture des images issues de la webcam (comment faire, mystère !)
2. passage par un ou plusieurs filtre pour arriver à une image du genre noire avec un point blanc (la LED)
3. "lecture" de l'image pour localiser le point blanc.
Je me demande si les points 1 et 2 ne pourraient pas être fait avec Quartz ?!?!
Voilà ou en est ma réflexion.
Des avis, des conseils, ... ?
Merci !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Surtout s'il s'agit de suivre "la plus grosse tâche de couleur C" sur une image (j'avais même déjà fait un programme en C++ qui faisait ça, en utilisant les IPP d'Intel). J'ai même fait une appli pour le taf (donc Windaube, dsl) pour faire un suivi de visage (filtre Viola-Jones sur l'image, si tu veux faire des recherches) sur l'image de la webcam...
Une des difficultés aussi est d'isoler la couleur (ça dépend de la couleur que tu recherches, certaines sont plus facile à isoler que d'autres) : l'espace colorimétrique n'est pas euclidien, c'est à dire que perceptuellement, tu saurais faire la différence entre du marron et du jaune et du orange, alors qu'en terme de distances euclidiennes (genre R^2+G^2+B^2 dans l'espace RGB) ces couleurs peuvent être à la même "distance" que du bleu, qui pourtant parait plus éloigné visuellement... De même du rose est-il à considérer comme du rouge très éclairé ou non ? Etc.
Si tu cherches du rouge, le filtre à faire pour binariser l'image n'est pas méchant, mais si c'est du marron...
Si c'est une couleur donnée qui ne bougera pas tu peux regarder [urlhttp://www.greyc.unicaen.fr/~luc/ENSEIGNEMENT/COURS/TR_IMG/node39.html]les ellipses de McAdam[/url] pour connaà®tre le voisinage des couleurs acceptables, mais si ta couleur est une variable...
Ceci dit, tu as déjà des projets en Cocoa sinon qui traà®nent sur le net et qui font des choses similaires, du moins avec une iSight (après je sais pas si c'est la même API pour une webcam quelconque, faut espérer). Just Google it, je me rappelle en avoir vu traà®ner quelques unes au gré de mes errances sur la toile
Et puis pour les points 2 et 3 tu peux déjà essayer de faire du code qui s'applique à une image, code que tu appelleras pour chaque image de ta webcam à terme, en attendant de résoudre le point 1. Certes en général pour les algos de suivi il y a un sacré de paquet d'optimisations (je pense entre autres à Kalman ou au paramétrage de la fenêtre de recherche), mais ce sera déjà un bon début
Ci-joint, le simple truc à faire pour se voir (c'est déjà pas mal). Après niveau enregistrement je pense que Quartz Comp. peut le faire aussi, mais suis pas sûr..
[Fichier joint supprimé par l'administrateur]
Pour l'instant, j'ai des pistes, c'est déjà bien