Ressources Magic Makers

 

Site en maintenance

 
Nous sommes actuellement entrain de mettre à jour les ressources de ce site.
Pendant la mise à jour vous pouvez retrouver tous les nouveaux contenus sur le site
 

https://lp-magicmakers.fr/

 
 

Manipuler des flux (webcam et vidéo)

Tu trouveras ici comment accéder à la webcam pour afficher le flux vidéo ou comment récupérer une vidéo pour l’enregistrer de nouveau !

À toi ensuite de modifier les vidéos comme tu le souhaites ! Tu peux par exemple :

    • ajouter des filtres à la vidéo
    • ajouter un texte fixe
    • ajouter un texte qui bouge
    • ajouter un filtre à un certain moment
    • à toi de trouver ton idée 🙂

/!\ Attention ! Les codes présentés ci-dessous fonctionneront tous sur ton ordinateur en les lançant depuis ton terminal mais ils ne fonctionneront pas tous tel quel sur Repl.it. /!\

Récupérer la webcam

Récupérer le flux vidéo de la webcam et l'afficher dans une fenêtre

Pour obtenir un flux vidéo à partir de la webcam, il faut d’abord :

    • que l’on importe OpenCV 
    • que l’on programme l’accès pour prendre une photo :
      • On accède à la webcam avec VideoCapture(0)
      • On prend une photo avec read()
        • ret = un booléen pour savoir si la photo est bien prise
        • image = l’image prise

Récupérer le flux vidéo

À partir du code précédent, on va simplement ajouter une boucle infinie pour « prendre des photos en continu » :

N’oublie pas l’indentation !

Afficher le flux

1er Bloc de code :

On commence par ajouter les paramètres qui vont nous permettre de créer une fenêtre

    • une variable pour le nom de la fenêtre
    • on récupère la taille de l’image prise par la caméra pour la placer dans une variable largeur et une hauteur
    • on crée une fenêtre avec le nom choisit plus haut

2nd Bloc de code :

Si la photo est bien prise, on affiche l’image dans notre fenêtre.

On ajoute un temps d’attente avec waitKey() (ici de 25 ms ce qui nous donne 40 frames par secondes) et on arrête la boucle si on appuie sur la touche ‘q’.

Le code exemple sur Repl.it (code qui fonctionnera sur ton ordinateur mais pas sur Repl.it)

Récupérer le flux vidéo de la webcam et l'enregistrer après l'avoir modifiée pour la sauvegarder

Enregistrer dans un tableau chacune des images

À partir du code précédent, on ajoute simplement :

    • on crée un tableau vide au début du code
    • dans la boucle, on ajoute chacun des images à notre tableau

Sauvegarder la nouvelle vidéo

Quand on quitte la boucle, on parcourt le tableau avec les boucles « for.. in.. » et on va utiliser une fonction d’OpenCV pour sauvegarder la nouvelle vidéo !

Récupérer une vidéo

Récupérer une vidéo et l'afficher dans une fenêtre

Pour faire ce code, on va reprendre le code précédent :

Ouvrir sa vidéo

À partir du code précédent, on va simplement changer la ligne VideoCapture(0) pour aller chercher notre vidéo plutôt que la webcam.

Attention ! Il faut que ta vidéo soit dans le même dossier que ton code ou bien spécifier le chemin pour y accéder !

Stopper la fenêtre quand la vidéo est finie

Il suffit de rajouter une ligne pour stopper la boucle infinie si le booléen ‘ret’ est faux.

Attention à ton indentation!

Récupérer une vidéo et la sauvegarder

À partir du code précédent, on va ajouter une variable pour stocker les différentes images, un tableau, ici appelé « nouvelle_video ».

En plus d’afficher les images dans une fenêtre, on les ajoute dans le tableau.

Quand la vidéo est finie, on parcourt le tableau avec les boucles « for.. in.. » et on va utiliser une fonction d’OpenCV pour sauvegarder la nouvelle vidéo !

Le code exemple sur Repl.it (code qui fonctionnera sur ton ordinateur mais pas sur Repl.it)

Rappel - Passer d'OpenCV à PIL

(et revenir à OpenCV)

À partir des codes précédents (ici le code qui accède à la webcam) :