|
|||||||
| Programmation multimédia/Jeux Forum d'entraide sur la 2D, 3D, video, son, ... |
|
|
Publicité ' | |||||||||||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#1 | |||
|
Membre Expert
![]() ![]() |
Bonjour,
J'essaie présentement de monter un visualiseur de flux pour Caméra avec Tkinter + PIL + VideoCapture. Mais il se trouve que les temps de récupération de l'image avec VideoCatpure et de traitement avec PIL ne m'arrangent pas. (de l'ordre de 10-² secondes ). De plus le programme est supposé tourner avec 3 caméras en moyenne. Mais juste une fais monter le CPU à 45%.Code :
Cordialement, Franck.
__________________
Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27 Citation:
|
|||
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : mai 2007 Messages : 292 ![]() |
Hello,
Du traitement d'images temps réel en Python, c'est possible via numpy et scipy (plutot que la PIL) à condition de n'utiliser QUE les fonctions définies dans ces packages (écrites en C), tu devrais alors te rapprocher des perfs d'un programme pur C. Si tu commences à manipuler les pixels un par un en pur python, c'est fini, dis adieu aux perfs. A noter qu'il existe des outils pour intégrer des bouts de C dans ton code (regarde du coté de scipy.weave). Python n'est vraiment pas le langage idéale pour du calcule parallèle à cause du système de lock de l'interpréteur. Mais je crois que des solutions existent (voir multiprocessing module) |
|
|
00
|
|
|
#3 | |
|
Membre Expert
![]() ![]() |
Bonsoir,
Je me suis mis à PyOpenCV pour, mais je doit avouer que ça manque cruellement de Tutoriels/Cours. Pour le moment je suis obliger de me taper des Tutos de C++. .Mais bon, il se trouve que ça permet effectivement de faire des merveilles. Mais pour le moment la seule que je sache faire c'est afficher une image. ![]() @+
__________________
Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27 Citation:
|
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : mai 2007 Messages : 292 ![]() |
Sans l'avoir essayer, il parait qu'OpenCV est une très bonne lib (du moins sa version C++). Aucune idée concernant la version python mais l'essentiel reste d'appeler depuis python des routines C/C++ pour rester dans les contraintes temps réel.
|
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() ![]() |
Re,
C'est vrai que je suis tombé sur un post disant que PyOpenCV contenant encore beaucoup de bugs. Mais le véritable problème c'est que je ne trouve pas de classe correspondante pour les Caméras. Devrais-je me servir de simples flux-vidéo? Cordialement, Franck.
__________________
Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27 Citation:
|
|
|
00
|
|
|
#6 | |
|
Membre Expert
![]() ![]() |
Re,
Oops, j'avais déconnecté ma cam
__________________
Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27 Citation:
|
|
|
00
|
|
|
#7 | |
|
Membre Expert
![]() ![]() |
Bonjour,
Je me suis comme dit plutot a pyOpenCV. Mais j ai un enorme probleme avec. Le sous-lib cvcam specialisee dans la gestions de cams n est pas bindee en Python. Je ne trouve pas de moyens pour utilser plus d une camera avec. Qu importe ce que je fais, je n ai acces qu a une des cameras connectee a la machine. Lorsque je demande par exemple 2 instances de CvCapture avec les index 0 et 1, les deux sont crees mais la seconde ne se met a retourner des images qu une fois la premiere detruite, et de plus les deux retournent les images de la meme camera. Quelqu un aurait une idee? Cordialement, Franck.
__________________
Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27 Citation:
|
|
|
00
|
|
|
#8 | |
|
Membre Expert
![]() ![]() |
Au final, je me suis servis de VideoCapture + mtTkinter(thread-safed Tkinter) + PIL.
un thread se charge du traitement des images, et le second de les afficher. J ai abandonner le Canvas pour le Label car celui est beaucoup plus performant pour afficher une image
__________________
Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27 Citation:
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com