2010-02-25 15 views
3

J'essaye d'écrire un programme pour contrôler un robot en interprétant des images à partir d'une webcam et sur GStreamer.Saisir une image aléatoire à partir d'une webcam avec GStreamer en Python

Je suis en mesure de diffuser de la vidéo en Python de la webcam avec GStreamer avec l'aide de cette page: http://www.ndeschildre.net/2008/04/04/python-power/

Cependant, je ne sais pas comment demander une seule image codée RVB de la Pipeline, et même si j'ai réussi à trouver et à lire une partie de la documentation, je n'ai trouvé aucune réponse évidente.

Quelqu'un a-t-il des idées? EDIT: J'ai essayé d'utiliser OpenCV pour résoudre ce problème d'abord, mais le tampon ne reste pas en place ou quelque chose et fait que les images successives ne commencent pas dans le coin supérieur gauche du tampon. (système d'exploitation est Ubuntu Linux)

Répondre

1

Regardez le code source pour fromage, l'application Gnome photomaton.

Vous pouvez également essayer le usersink.

+0

Pourriez-vous élaborer sur l'utilisation de l'utilisateur? – Raceimaztion

+0

L'application usersink permet à votre code de traiter les trames gstreamer brutes. Hélas, je ne peux pas élaborer sur l'utiliser pour la vidéo. L'application de fromage peut prendre des photos à partir d'une webcam et est plein d'exemple de code utile. – joeforker

+0

Merci pour cela, je pense que j'ai une idée du problème grâce à la source de Cheese. (pas officiellement résolu, mais vous avez indiqué mon dans la bonne direction) – Raceimaztion

1

J'ai entendu parler du succès des liaisons Python d'OpenCV. Voici l'un de ces succès: http://blog.jozilla.net/2008/06/27/fun-with-python-opencv-and-face-detection/

+0

J'ai commencé en utilisant les liaisons Python d'OpenCV, mais j'ai dû mettre à jour la version du système d'exploitation pour que la webcam fonctionne, et cela ne fonctionnait plus. (l'image n'étant pas copiée de manière fiable à partir du tampon, j'ai donc abandonné) – Raceimaztion

+0

Avez-vous regardé les liaisons OpenCV de Willow Garage http://opencv.willowgarage.com/wiki/PythonInterface? Il y a beaucoup de reliures Python "maison-brassées" dont je ne suis pas sûr ... – timv

+0

Quel système d'exploitation? Si vous êtes sur Ubuntu, vous pouvez obtenir une ancienne version (pas la version 2.0) de bindings OpenCV et python via "apt-get install python-opencv", j'ai pu obtenir ça pour travailler sans piratage ici est un exemple de script J'ai travaillé un peu il y a quelques mois: http://www.cs.umass.edu/~timv/opencv-example.py C'est basé j'ai trouvé en ligne, mais j'ai perdu la référence .. excuses à la auteur original. Il y a une bonne quantité de code "non pertinent" parce que je voulais convertir les images OpenCV en images PIL. – timv