|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Basile SénéchalÉtudiant Inscription : avril 2012 Messages : 13 ![]() |
Bonjour à tous !
Comme explicité dans le titre, j'ai besoin de réaliser une interface graphique qui pourra afficher un (ou deux, ou plus) flux vidéo depuis une webcam, en temps le plus réel possible ! J'ai farfouillé un peu partout dans le forum vu qu'il y avait déjà pas mal de requêtes de conseil pour le choix d'une librairie ou d'une autre mais je n'ai rien trouvé pour une application comme la mienne. Même Google n'a pas été mon ami sur ce coup J'ai trouvé une classe sur wxpython qui avait un nom qui sonnait plutôt bien : VideoMode, cependant j'ai cru comprendre qu'elle servait juste à détecter et initialiser les écrans disponibles de la machine. Merci par avance pour vos réponses !! Besaïl |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Basile SénéchalÉtudiant Inscription : avril 2012 Messages : 13 ![]() |
Bon ben j'ai vu que ça avait été réalisé déjà...
Je mets les liens en rapport au cas où quelqu'un se poserait la question. solution n°1 solution n°2 Cependant, il me semble que ces deux solutions n'offrent que la possibilité d'afficher uniquement la vidéo dans une fenêtre, or je voudrais afficher les flux vidéos dans une fenêtre, mais avoir aussi quelques boutons à côté ! |
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Développeur en systèmes embarqués Inscription : mars 2006 Messages : 763 ![]() |
Salut,
pour la solution 1, il me semble que Franck affiche la vidéo dans un Tkinter.Canvas, donc à priori rien ne s'oppose à mettre d'autres widgets dans le même fenêtre. Il faut bien sûr modifier sa classe qui construit sa propre fenêtre dans son __init__ Les lignes intéressantes sont celles-là:: Code :
Pfeuh |
||
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() ![]() |
Juste pour ajouter que le Tkinter.Canvas n'etait pas une bonne idee. Je me suis rendu compte qu'un Tkinter.Label produisait un bien meilleur flux.
__________________
Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27 Citation:
|
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() ![]() |
Ca devrait t'interresser, la solution 1'
http://www.developpez.net/forums/d12...n/#post6637297
__________________
Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27 Citation:
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Basile SénéchalÉtudiant Inscription : avril 2012 Messages : 13 ![]() |
Merci à tous les deux pour vos réponses rapides !
Je fais des tests et je fais un retour ! Besaïl |
|
|
00
|
|
|
#7 | ||
|
Membre actif
![]() Inscription : septembre 2007 Messages : 322 ![]() |
Ci-dessous avec wxPython, PIL et videoCapture
Cadeau ! Code :
|
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Basile SénéchalÉtudiant Inscription : avril 2012 Messages : 13 ![]() |
Merci beaucoup pour toutes vos réponses !
Ca marche du tonnerre ! ![]() Bon maintenant, je joue l'enquiquineur Ca m'arrangerait grandement si je pouvais faire tourner ça sous Linux (10.04) ^^', mais si j'ai bien compris et avec toutes mes vaines tentatives, vidcap n'est pas utilisable sous Linux. (J'ai bien compris ? Des idées ? Besaïl |
|
|
00
|
|
|
#9 | ||
|
Membre actif
![]() Inscription : septembre 2007 Messages : 322 ![]() |
Avec OpenCV et PyGame ci-dessous :
Code :
|
||
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Basile SénéchalÉtudiant Inscription : avril 2012 Messages : 13 ![]() |
Bonjour,
Et merci pour le bout de code ! Après une gueguerre contre mes bibliothèques, j'ai fini par réussir à compiler et ça tourne sans problème. ![]() Est-il alors possible de coupler openCV/pygame/highGUI avec wxpython pour ajouter à la fenêtre quelques boutons ? Je demande avant car je ne veux pas me jeter à corps perdu dans cette idée au cas où ça serait simplement irréalisable |
|
|
00
|
|
|
#11 | |
|
Membre Expert
![]() ![]() |
Ggamer, parviens tu a passer le cap des 2 cams avec OpenCV?
besail, je dirais oui. dans ce cas, pygame, traitera juste les images, et wx se chargera de les afficher.
__________________
Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27 Citation:
|
|
|
00
|
|
|
#12 |
|
Membre actif
![]() Inscription : septembre 2007 Messages : 322 ![]() |
Le premier bout de code était le mien, mais le 2ème basé sur OpenCV, non. Donc, je ne pourrai dire...
|
|
|
00
|
|
|
#13 | ||
|
Invité de passage
![]() Basile SénéchalÉtudiant Inscription : avril 2012 Messages : 13 ![]() |
Hello tous !
J'ai un souci de taille dans la réalisation de mon interface je me suis servi de l'ensemble des codes que vous m'avez passé mais pour ce qui est de mêler du wx et du pygame, c'est un peu coton. Tout simplement parce que la fonction Add() de la classe wx.Sizer ne permet d'ajouter que 3 types d'objets : des objets de type wx.Window, des sizers ou des wx.Size (autrement dit des spacers). Et d'après ce que j'ai compris, l'objet qu'on a en utilisant pygame pour afficher une vidéo est de type pygame.Surface, et de ce fait je ne parviens pas à l'ajouter à ma fenêtre. Une idée pour contourner le problème ? ![]() Merci d'avance ! Ca me donnerait grosso modo un truc de ce genre : Code :
|
||
|
|
00
|
|
|
#14 |
|
Membre actif
![]() Inscription : septembre 2007 Messages : 322 ![]() |
|
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Basile SénéchalÉtudiant Inscription : avril 2012 Messages : 13 ![]() |
"We're still not sure though how stable this really is, and if it works on Mac or Linux."
En gros c'est à moi de développer la solution :p J'avais trouvé ce code et j'avais essayé mais ça marche pas. Merci ! |
|
|
00
|
|
|
#16 | |
|
Membre Expert
![]() ![]() |
@Ggamer: a propos des cams, j'ai trouve qu'openCV etait compile avec un max de 2 cams pour windows, et 8 pour linux & co (c'est pas fairplay de la part d'intel
)@besail: pourquoi veux-tu faire rentrer Pygame dans la partie? Logiquement PIL devrait te suffir a avoir une image utilisable dans wx. Et quand bien meme tu aurais besoin de Pygame pour traiter l'image, ca devrait s'arreter au traitement, tu prends ensuite ton image sous forme de string par exemple, la passe a PIL (ou wxImage/wxMedia...) pour obtenir une image affichage avec wx.
__________________
Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27 Citation:
|
|
|
00
|
|
|
#17 | ||
|
Invité de passage
![]() Basile SénéchalÉtudiant Inscription : avril 2012 Messages : 13 ![]() |
Bonjour !
Je touche presque au but ! J'ai réussi à afficher une image du flux video dans une fenêtre graphique, mais je ne vois pas où mettre mon while et quoi mettre dedans pour afficher le flux en continu. Voilà mon code : Code :
Merci ! Besaïl. |
||
|
|
00
|
|
|
#18 | |
|
Membre Expert
![]() ![]() |
Salut, a peu de choses pret, ta classe devrait avoir un "loop" qui se chaarge de recuperer et afficher les images. Ce loop devrait etre piloter par un thread.
__________________
Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27 Citation:
|
|
|
00
|
|
|
#19 | |||
|
Membre Expert
![]() ![]() |
En gros, tu pourrais avoir une classe a la sauce:
Code :
__________________
Win 7 HP 64 bits /Ubuntu 12.04, - AMD A6 Quad: Py32 / Py27 Citation:
|
|||
|
00
|
|
|
#20 | ||
|
Invité de passage
![]() Basile SénéchalÉtudiant Inscription : avril 2012 Messages : 13 ![]() |
Bonjour,
Je pense que j'ai saisi l'idée et le principe des thread mais je débute en python et j'ai un peu du mal à agencer le code comme il faut. J'ai bidouillé mais ce que je fais ne me semble vraiment pas propre, et d'ailleurs le shell me le rend bien ('segmentation fault' )Je ne comprends pas comment actualiser en permanence l'image DANS le widget : j'ai pour l'instant recréé le widget à chaque fois que l'on rentre dans setImage, mais ça me paraît être une étrange façon de faire. Comme cela : Code :
Merci ! Besaïl |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com