Miniature d'image 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 laboratoire vous guidera tout au long du processus de génération de miniatures à partir d'images existantes à l'aide de la bibliothèque Matplotlib en Python. Les miniatures sont des versions réduites d'images qui peuvent être utilisées pour afficher une aperçu de l'image plus grande. Matplotlib dépend de la bibliothèque Pillow pour la lecture des images et prend en charge tous les formats pris en charge par Pillow.

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 Carnet d'adresses pour accéder au carnet Jupyter pour pratiquer.

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

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.

Installer les bibliothèques requises

Tout d'abord, vous devez installer les bibliothèques requises. Ouvrez votre terminal et tapez les commandes suivantes pour installer Matplotlib et Pillow :

pip install matplotlib
pip install pillow

Importer les bibliothèques

Dans cette étape, vous allez importer les bibliothèques que vous avez installées dans l'étape précédente. Vous devez importer ArgumentParser et Path respectivement à partir des modules argparse et pathlib. Importez également les modules sys et image respectivement à partir des modules sys et matplotlib.image.

from argparse import ArgumentParser
from pathlib import Path
import sys
import matplotlib.image as image

Analyser les arguments

Dans cette étape, vous allez analyser les arguments passés à votre programme. Vous devez créer un objet ArgumentParser et ajouter un argument nommé imagedir. Cet argument spécifie le chemin vers le répertoire contenant les images. Vous pouvez utiliser le paramètre type pour spécifier le type de données de l'argument. Dans ce cas, l'argument doit être de type Path.

parser = ArgumentParser(description="Build thumbnails of all images in a directory.")
parser.add_argument("imagedir", type=Path)
args = parser.parse_args()

Vérifier le répertoire

Dans cette étape, vous allez vérifier si le répertoire spécifié existe. Si le répertoire n'existe pas, vous allez quitter le programme et afficher un message d'erreur.

if not args.imagedir.is_dir():
    sys.exit(f"Could not find input directory {args.imagedir}")

Créer le répertoire de sortie

Dans cette étape, vous allez créer un répertoire nommé thumbs où les miniatures seront enregistrées. Si le répertoire existe déjà, il ne sera pas créé à nouveau.

outdir = Path("thumbs")
outdir.mkdir(parents=True, exist_ok=True)

Générer des miniatures

Dans cette étape, vous allez générer des miniatures pour toutes les images dans le répertoire spécifié. Vous utiliserez une boucle for pour parcourir toutes les images avec l'extension .png dans le répertoire spécifié. Pour chaque image, vous allez générer une miniature et la sauvegarder dans le répertoire thumbs.

for path in args.imagedir.glob("*.png"):
    outpath = outdir / path.name
    fig = image.thumbnail(path, outpath, scale=0.15)
    print(f"saved thumbnail of {path} to {outpath}")

Sommaire

Dans ce laboratoire, vous avez appris à générer des miniatures à partir d'images existantes à l'aide de Matplotlib en Python. Vous avez appris à importer des bibliothèques, à analyser les arguments, à vérifier les répertoires, à créer des répertoires de sortie et à générer des miniatures. En suivant les étapes de ce laboratoire, vous pouvez facilement générer des miniatures pour toutes les images dans un répertoire.