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.