Extraction d'images d'un film avec Matplotlib

PythonPythonBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce tutoriel vous guidera tout au long du processus d'utilisation de Matplotlib pour extraire des images individuelles d'un film et les enregistrer dans un fichier. Cette méthode est utile pour générer des animations et peut être effectuée sans intégration de boucle d'événements.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.

Importez les bibliothèques nécessaires

Nous devons tout d'abord importer les bibliothèques nécessaires pour générer l'animation. Nous utiliserons numpy pour générer des nombres aléatoires, matplotlib pour tracer et FFMpegWriter pour enregistrer les images dans un fichier.

import numpy as np
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
from matplotlib.animation import FFMpegWriter

Configurez l'écrivain

Nous devons configurer l'écrivain qui sera utilisé pour enregistrer les images dans un fichier. Nous définissons le nombre d'images par seconde (fps) et ajoutons des métadonnées telles que le titre, l'artiste et le commentaire.

metadata = dict(title='Movie Test', artist='Matplotlib',
                comment='Movie support!')
writer = FFMpegWriter(fps=15, metadata=metadata)

Configurez la figure

Nous créons une figure et définissons les limites x et y du tracé.

fig = plt.figure()
plt.xlim(-5, 5)
plt.ylim(-5, 5)

Configurez le tracé

Nous créons un tracé de ligne et définissons les données initiales comme un tableau vide.

l, = plt.plot([], [], 'k-o')

Capturer les images et enregistrer dans un fichier

Nous effectuons une boucle de 100 itérations et générons des nombres aléatoires pour les coordonnées x et y. Nous mettons à jour les données du tracé de ligne et capturons l'image à l'aide de l'écrivain. Enfin, nous enregistrons les images dans un fichier.

x0, y0 = 0, 0

with writer.saving(fig, "writer_test.mp4", 100):
    for i in range(100):
        x0 += 0.1 * np.random.randn()
        y0 += 0.1 * np.random.randn()
        l.set_data(x0, y0)
        writer.grab_frame()

Sommaire

Ce tutoriel vous a montré comment utiliser Matplotlib pour capturer les images d'un film et les enregistrer dans un fichier. Nous avons couvert les étapes nécessaires, depuis la configuration de l'écrivain jusqu'à la boucle d'itérations et la génération de nombres aléatoires pour le tracé. Cette méthode est utile pour générer des animations sans intégration de boucle d'événements.