Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/02/2010, à 14:48

cyprien

Capture webcam et analyse d'images

Bonjour,
Je me suis acheté dernièrement un petit circuit de voiture électrique (http://fr.carrera-toys.com/6815.0.html).
J'aimerais bien maintenant me créer un compte tour / chronomètre à l'aide d'une webcam, je m'explique :
Je met la caméra à un endroit au dessus de la piste et lorsqu'une voiture passe, elle analyse son image et la repère grâce à sa couleur.
Bon, c'est facile à dire, mais je détaillerais les étape du programme :
1 - Il faut capturer la video de la webcam
2 - Splitter la video en image
3 - Analyser carré par carré chaque image et calculer sa teneur chromatique
4 - La comparer à des modèles (enregistrés lors du calibrage) et voir si l'on en est proche.
Pour le 1, dois-je utiliser video4linux ?
pour le 2, je ne sais pas, c'est peut-être directement faisable lors de la capture ?
pour le 3, je pensais à G'MIC (http://gmic.sourceforge.net/tutorial.shtml) ou ImageJ (http://imagejdocu.tudor.lu)
pour le 4, ben c'est mon travail non ?
Merci pour vos infos,

Hors ligne

#2 Le 17/02/2010, à 15:22

plu9in

Re : Capture webcam et analyse d'images

Bonjour,

Joli projet smile ! Mais ton approche me parait un peu compliquée wink

Je ne suis pas spécialiste de la question mais tu peux choper un flux video webcam par VLC (l'avantage de vlc est que tu peux le piloter)
http://doc.ubuntu-fr.org/vlc#capturer_u … _sa_webcam
Pour la découpe d'un fichier video en images, tu peux utiliser ffmpeg. Il y a une foule d'options qui te permettent de faire une foule de trucs.
Ou alors, au lieu de prendre une video, tu prends des clichés tous les X ms.
Ensuite, pour l'analyse, eh bien, travaille par différence entre deux images successives. Il ne devrait pas se passer grand chose sur ton circuit hormis tes voitures qui roulent donc en faisant une différence pixel par pixel entre deux images successives, tu localises tes voitures (opencv peut t'aider pour ça)
Tu peux regarder:
http://www.cs.cmu.edu/~cil/v-source.html
et porte une attention particulière à opencv. C'est une super librairie écrite en C, open source évidemment et maintenue par intel.
Bonne chance ! J'aime bien ce type de projet. Tiens moi au courant et n'hésite pas si tu as des soucis.

Dernière modification par plu9in (Le 17/02/2010, à 15:24)

Hors ligne

#3 Le 17/02/2010, à 16:02

cyprien

Re : Capture webcam et analyse d'images

Merci !
Je regarde openCV et j'essaye de m'y mettre.
As-tu une idée pour la cpature des image toutes les x secondes ?

Hors ligne

#4 Le 17/02/2010, à 16:09

plu9in

Re : Capture webcam et analyse d'images

Ca va dépendre de ta caméra, je pense.
Essaye GtkCamShot ou google avec les mots "snapshot webcam linux"

Hors ligne

#5 Le 17/02/2010, à 16:15

plu9in

Re : Capture webcam et analyse d'images

Maintenant que j'y repense, je crois (je ne suis pas sûr) qu'il y a des fonctions opencv qui permettent de prendre des snapshot a intervalles réguliers ... J'avais fait tourné un truc comme ça sur windows me semble t-il ... Si j'ai un peu de temps, je regarderai le truc à l'occas.

Dernière modification par plu9in (Le 17/02/2010, à 16:15)

Hors ligne

#6 Le 17/02/2010, à 16:27

cyprien

Re : Capture webcam et analyse d'images

Je viens de tomber la dessus en partant d'openCV.
http://www.siteduzero.com/tutoriel-3-8631-vision-par-ordinateur.html
Bon, je m'imprime ca et je vais dans mon canapé wink

Hors ligne

#7 Le 16/03/2010, à 10:10

ZondeR

Re : Capture webcam et analyse d'images

Coucou,

je ne sais pas où tu en es de cette histoire, mais je viens de tomber dessus et j'ai peut-être des éléments qui peuvent t'aider.

1-Tu pourrais utiliser motion qui fait de la détection de mouvement. Il détecterait donc tout seul quand ta voiture passe sur l'image. Avec pas grand-chose de plus, tu pourrais régler ton problème je pense.

2-Tu peux utiliser mencoder pour enregistrer un flux provenant de ta webcam avec par exemple:

mencoder tv:// -tv driver=v4l2:width=60:height=40:fps=60:device=/dev/video0 -nosound -ovc
lavc -lavcopts vcodec=mjpeg -o test.avi

3-Tu peux splitter ta vidéo en image rapidos avec mplayer. Ex:

mplayer video.avi -vo jpeg

4-Sinon, le mieux pour analyser ton image, c'est de faire la différence entre l'image que tu as et le fond (enregistré quand la voiture n'est pas sur l'image). La zone de l'image résultante qui s'éloigne trop de 0 correspond à ta voiture. Avec G'mic, ça commencerait par:

gmic image.png fond.png --

Mais bon, motion devrait te suffire à mon avis.

Hors ligne