IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Python Discussion :

Afficher le flux d'une Camera dans Python


Sujet :

Contribuez Python

  1. #1
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut Afficher le flux d'une Camera dans Python
    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

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 121
    Points : 80
    Points
    80
    Par défaut
    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

  3. #3
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    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
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 121
    Points : 80
    Points
    80
    Par défaut
    Bonjour,

    Merci pour la réponse, mais il me semble que opencv n'est pas encore porté sous Python 3.

    Vincent

  5. #5
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    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
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  6. #6
    Membre averti
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Points : 413
    Points
    413
    Par défaut
    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
    Bouddha : Tout n'est qu'illusion en ce bas monde.
    Jésus : Tout est amour divin.
    Einstein : Tout est relatif dans cet espace-temps.
    Moi : Tout est binaire sur ce forum.

  7. #7
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    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
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  8. #8
    Membre averti
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Points : 413
    Points
    413
    Par défaut
    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 :
    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 ?
    En revanche, est-ce que vous connaîtriez des modules (qui marchent avec Python 3, évidemment) capables de transformer buffer en image ?
    Fichiers attachés Fichiers attachés
    Bouddha : Tout n'est qu'illusion en ce bas monde.
    Jésus : Tout est amour divin.
    Einstein : Tout est relatif dans cet espace-temps.
    Moi : Tout est binaire sur ce forum.

  9. #9
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    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.
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  10. #10
    Membre averti
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Points : 413
    Points
    413
    Par défaut
    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 .
    Bouddha : Tout n'est qu'illusion en ce bas monde.
    Jésus : Tout est amour divin.
    Einstein : Tout est relatif dans cet espace-temps.
    Moi : Tout est binaire sur ce forum.

  11. #11
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Ne serait-ce pas Pillow sur le lien donné? (désolé pour le retard de reponse, quelques soucis d'acces net, etant en demenagement).
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  12. #12
    Membre averti
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Points : 413
    Points
    413
    Par défaut
    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 ?
    Bouddha : Tout n'est qu'illusion en ce bas monde.
    Jésus : Tout est amour divin.
    Einstein : Tout est relatif dans cet espace-temps.
    Moi : Tout est binaire sur ce forum.

  13. #13
    Membre averti
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Points : 413
    Points
    413
    Par défaut
    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.
    Bouddha : Tout n'est qu'illusion en ce bas monde.
    Jésus : Tout est amour divin.
    Einstein : Tout est relatif dans cet espace-temps.
    Moi : Tout est binaire sur ce forum.

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    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é?

Discussions similaires

  1. [DLL] Afficher le contenu d'une dll dans un Tpanel
    Par Fabs dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/08/2007, 15h30
  2. Afficher un cumul ou une somme dans un état
    Par Alex063 dans le forum Access
    Réponses: 4
    Dernier message: 07/02/2006, 16h37
  3. Réponses: 2
    Dernier message: 27/12/2005, 21h09
  4. Réponses: 3
    Dernier message: 25/11/2005, 15h51
  5. Réponses: 29
    Dernier message: 03/11/2005, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo