Miniatura de Imagen con Matplotlib

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Esta práctica te guiará a través del proceso de generación de miniaturas a partir de imágenes existentes utilizando la librería Matplotlib en Python. Las miniaturas son versiones más pequeñas de las imágenes que se pueden utilizar para mostrar una vista previa de la imagen más grande. Matplotlib depende de la librería Pillow para la lectura de imágenes y admite todos los formatos admitidos por Pillow.

Consejos sobre la VM

Una vez finalizada la arranque de la VM, haz clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tengas que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tienes problemas durante el aprendizaje, no dudes en preguntar a Labby. Proporciona retroalimentación después de la sesión y resolveremos rápidamente el problema para ti.

Instalar las bibliotecas necesarias

En primer lugar, debes instalar las bibliotecas necesarias. Abre tu terminal y escribe los siguientes comandos para instalar Matplotlib y Pillow:

pip install matplotlib
pip install pillow

Importar bibliotecas

En este paso, importarás las bibliotecas que instalaste en el paso anterior. Debes importar ArgumentParser y Path respectivamente de los módulos argparse y pathlib. Además, importa los módulos sys e image respectivamente de los módulos sys y matplotlib.image.

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

Analizar argumentos

En este paso, analizarás los argumentos pasados a tu programa. Debes crear un objeto ArgumentParser y agregar un argumento llamado imagedir. Este argumento especifica la ruta al directorio que contiene las imágenes. Puedes usar el parámetro type para especificar el tipo de datos del argumento. En este caso, el argumento debe ser del tipo Path.

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

Verificar el directorio

En este paso, comprobarás si el directorio especificado existe. Si el directorio no existe, saldrás del programa e imprimirás un mensaje de error.

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

Crear el directorio de salida

En este paso, crearás un directorio llamado thumbs donde se guardarán las miniaturas. Si el directorio ya existe, no se creará de nuevo.

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

Generar miniaturas

En este paso, generarás miniaturas para todas las imágenes en el directorio especificado. Utilizarás un bucle for para iterar sobre todas las imágenes con la extensión .png en el directorio especificado. Para cada imagen, generarás una miniatura y la guardarás en el directorio 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}")

Resumen

En este laboratorio, has aprendido cómo generar miniaturas a partir de imágenes existentes utilizando Matplotlib en Python. Has aprendido cómo importar bibliotecas, analizar argumentos, verificar directorios, crear directorios de salida y generar miniaturas. Siguiendo los pasos de este laboratorio, puedes generar fácilmente miniaturas para todas las imágenes en un directorio.