Miniatura de Imagem com Matplotlib

Beginner

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

Introdução

Este laboratório irá guiá-lo através do processo de geração de miniaturas (thumbnails) a partir de imagens existentes, utilizando a biblioteca Matplotlib em Python. Miniaturas são versões menores de imagens que podem ser usadas para exibir uma pré-visualização da imagem maior. Matplotlib depende da biblioteca Pillow para ler imagens e suporta todos os formatos suportados por Pillow.

Dicas para a VM (Máquina Virtual)

Após a inicialização da VM ser concluída, clique no canto superior esquerdo para mudar para a aba Notebook para acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Instalar as Bibliotecas Necessárias

Primeiramente, você precisa instalar as bibliotecas necessárias. Abra seu terminal e digite os seguintes comandos para instalar Matplotlib e Pillow:

pip install matplotlib
pip install pillow

Importar Bibliotecas

Nesta etapa, você importará as bibliotecas que instalou na etapa anterior. Você precisa importar ArgumentParser e Path dos módulos argparse e pathlib, respectivamente. Além disso, importe os módulos sys e image dos módulos sys e matplotlib.image, respectivamente.

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

Analisar Argumentos

Nesta etapa, você analisará os argumentos passados para o seu programa. Você precisa criar um objeto ArgumentParser e adicionar um argumento chamado imagedir. Este argumento especifica o caminho para o diretório contendo as imagens. Você pode usar o parâmetro type para especificar o tipo de dado do argumento. Neste caso, o argumento deve ser do tipo Path.

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

Verificar Diretório

Nesta etapa, você verificará se o diretório especificado existe. Se o diretório não existir, você sairá do programa e imprimirá uma mensagem de erro.

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

Criar Diretório de Saída

Nesta etapa, você criará um diretório chamado thumbs onde as miniaturas serão salvas. Se o diretório já existir, ele não será criado novamente.

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

Gerar Miniaturas

Nesta etapa, você gerará miniaturas para todas as imagens no diretório especificado. Você usará um loop for para iterar sobre todas as imagens com a extensão .png no diretório especificado. Para cada imagem, você gerará uma miniatura e a salvará no diretório 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}")

Resumo

Neste laboratório, você aprendeu como gerar miniaturas a partir de imagens existentes usando Matplotlib em Python. Você aprendeu como importar bibliotecas, analisar argumentos, verificar diretórios, criar diretórios de saída e gerar miniaturas. Seguindo as etapas deste laboratório, você pode facilmente gerar miniaturas para todas as imagens em um diretório.