Un petit script, se servant de Tkinter, PIL et VideoCapture pour afficher le flux d'une Cam.
VCapture.zip
Un petit script, se servant de Tkinter, PIL et VideoCapture pour afficher le flux d'une Cam.
VCapture.zip
Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
CONTENU D'UNE QUESTION
Exemples:
- Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
- Code source du morceau de programme où il y a un bogue
- Ligne de code sur laquelle le bogue apparaît
- Erreur complète retournée pas l'interpréteur Python
- Recherche déjà effectuée (FAQ, Tutoriels, ...)
- Tests déjà effectués
Bonjour,
Merci pour ce script, je cherche à faire tourner quelque chose d'identique sous Python 3.2 et sous windows. Quelqu'un connait-il une bibliothèque pour faire ça ? Pour le moment mes recherches ont été infructueuses :
- VidéoCapture ne fonctionne pas sous Python 3.x
- La bibliothèque camera de PyGame ne fonctionne que sous Linux
Merci de votre aide, en fait je cherche à faire des capture toutes les 10s d'une webcam ou appareil photo relié à l'ordinateur pour faire ensuite un traitement d'image.
Vincent
Bonjour,
Module dédié, openCV est ideal pour ça. Je l'ai expliqué dans un article: http://python.developpez.com/tutorie...-en-bref/#LV-Q![]()
Bonjour,
Merci pour la réponse, mais il me semble que opencv n'est pas encore porté sous Python 3.
Vincent
C’était en effet le cas. Mais j'ai lu un article en aout prétendant qu'il fonctionnait depuis le début de l'été, d’où ma réponse. Mais j'avoue ne pas avoir testé. Cela ne te coute rien de faire un essai, car si jamais l'article disait vrai, cela résoudrait ton problème.
EDIT: sinon gstreamer peut etre
Bonjour,
je viens de tomber sur ce code et je me rends compte qu'il correspond à peu près à ce que je veux faire (sauf que je suis en Python 3) mais je voudrais faire la même chose mais en affichant la vidéo sur un autre ordinateur en passant par un socket. Du côté "réseau", j'ai programmé ce qu'il faut. Mais je me demande si c'est possible de transférer la vidéo un peu comme sur Skype.
Merci d'avance de vos réponses
Bonjour Stalacta. Je ne saurais etre categorique. Par defaut, dans le code, si on le regarde de plus pres, on capture non pas une video mais une succession d'image qu'on affique apres un eventuel traitement d'image.
Donc, en theorie, il est possible, qu'à la place d'afficher ces images (ou en parallele), on les transfere sur le reseau, ou un traitement les affichera lui.
Pour information, OpenCV est capable de traiter des videos disponibles sur disque dur, alors pourquoi pas un film en streaming, cela ne me semble pas aberrant
Merci, du coup je vais tenter de bidouiller le code pour Python 3 (car je n'ai pas bien suivi le haut, je débute encore) et d'obtenir des chaînes de bytes à partir des images en me penchant plus sur le code.
Edit : j'ai trouvé la version de vidcap en décortiquant PyGame pour Python 3 (en PJ si ça vous intéresse). Quelques fonctions que j'ai identifiées et qui vont me servir :
En revanche, est-ce que vous connaîtriez des modules (qui marchent avec Python 3, évidemment) capables de transformer buffer en image ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 try : import pygame.vidcap as vidcap except : import vidcap dev = vidcap.new_Dev(0,0)#apparemment on semble initialiser une classe "caméra" buffer, width, height = dev.getBuffer()#capture d'une image, width/height : taille, buffer : contenu ?
Bonjour,
Je ne connais pas de module pour répondre à ta question.
Ton code est-il testé sous windows ou sous Linux? Je croyait que le module video de pygame ne fonctionnait que sous Linux.
Je suis sous windows et ça marche, du moins j'ai testé sous windows 7 et j'ai réussi à installer pygame sur windows XP avec python 3.3. Par contre ça met 4 secondes à capturer une image, je suis pas rendu avec ça, vous sauriez comment faire ?
Et une autre question : apparemment une version pour Python 3 de PIL serait dispo sur ce site. Mais j'ai beau le parcourir en long, en large et en travers, rien.
Ne serait-ce pas Pillow sur le lien donné? (désolé pour le retard de reponse, quelques soucis d'acces net, etant en demenagement).
Ah, merci, en effet, je vais tester tout ça.
Edit : j'ai tout installé et maintenant j'ai plein de module object as no attribute machin, ou ImageTk.Image as no attribute new. (j'ai pensé à mettre import PIL.Image as ImageTk). Vous sauriez les équivalents ?
J'arrive à obtenir une chaîne de bytes avec hauteur et largeur mais je n'arrive pas à obtenir une image à partir de ça, vous sauriez comment faire ?
Ah, zut, je comprends pourquoi ça clochait ^^. Merci, ça marche en python 3 maintenant ! Bon, plus qu'à réussir à entendre le flux du microphone et je réussirai enfin mon grand projet.
Bonsoir,
j'essaie depuis des jours de récupérer les images d'une webcam sous python3.2 avec windows.
Le module pygame camera ne fonctionne que sous linux...
Peux-tu m'indiquer comment tu y es arrivé?
Partager