Manipulação de Imagens com a Biblioteca Pillow em Python

Ana Maria Gomes
5 minutos de leitura

Conteúdos do tutorial

A biblioteca Pillow é uma das ferramentas mais poderosas e acessíveis para a manipulação de imagens em Python. Neste tutorial, vamos explorar algumas das funcionalidades básicas que a Pillow oferece e como você pode começar a utilizá-la em seus projetos.

Introdução à Biblioteca Pillow

Pillow é um fork da biblioteca PIL (Python Imaging Library), que não é mais mantida. A Pillow oferece uma gama de funcionalidades para manipulação de imagens, como abrir, salvar, exibir e converter imagens em diferentes formatos, além de permitir a realização de operações mais complexas como rotação, redimensionamento, aplicação de filtros e muito mais.

Instalação da Pillow

Para começar a usar a Pillow, você precisa instalá-la. Isso pode ser feito facilmente através do pip, o gerenciador de pacotes do Python. Abra o terminal e digite o seguinte comando:

pip install Pillow

Métodos Básicos do Pillow

Vamos explorar alguns métodos básicos que a biblioteca Pillow oferece para a manipulação de imagens.

Abrindo e Salvando Imagens

Para abrir uma imagem, utilizamos o método open da classe Image. Para salvar as alterações feitas em uma imagem, usamos o método save.

from PIL import Image

# Abrindo uma imagem
imagem = Image.open('caminho_para_sua_imagem.jpg')

# Salvando a imagem em outro formato
imagem.save('nova_imagem.png')

Redimensionamento e Rotação

A Pillow permite redimensionar imagens com o método resize e rotacioná-las com o método rotate.

# Redimensionando a imagem
nova_dimensao = (300, 300)
imagem_redimensionada = imagem.resize(nova_dimensao)

# Rotacionando a imagem em 90 graus
imagem_rotacionada = imagem.rotate(90)

Trabalhando com Cores

Você pode converter imagens para escala de cinza ou aplicar filtros de cores com o método convert.

# Convertendo para escala de cinza
imagem_cinza = imagem.convert('L')

# Aplicando um filtro de cor sepia (exemplo)
filtro_sepia = Image.open('filtro_sepia.png')
imagem_sepia = Image.blend(imagem, filtro_sepia, 0.5)

Cortando Imagens

Para cortar uma imagem, você pode usar o método crop, passando uma tupla com as coordenadas do retângulo de corte.

# Cortando a imagem (esquerda, topo, direita, baixo)
area_de_corte = (100, 100, 400, 400)
imagem_cortada = imagem.crop(area_de_corte)

Projetos Práticos com Pillow

Agora que você já conhece os métodos básicos, vamos aplicá-los em alguns projetos práticos.

Projeto 1: Conversão em Massa para Escala de Cinza

Imagine que você tem uma pasta cheia de imagens coloridas e quer convertê-las todas para escala de cinza.

import os

pasta_imagens = 'pasta_com_imagens'
imagens = os.listdir(pasta_imagens)

for img in imagens:
    imagem = Image.open(os.path.join(pasta_imagens, img))
    imagem_cinza = imagem.convert('L')
    imagem_cinza.save(os.path.join(pasta_imagens, 'cinza_' + img))

Projeto 2: Criando Thumbnails

Thumbnails são versões menores de imagens, geralmente usadas para pré-visualização. Com a Pillow, você pode criar thumbnails de forma eficiente.

tamanho_thumbnail = (50, 50)

for img in imagens:
    imagem = Image.open(os.path.join(pasta_imagens, img))
    imagem.thumbnail(tamanho_thumbnail)
    imagem.save(os.path.join(pasta_imagens, 'thumbnail_' + img))

Conclusão

A biblioteca Pillow é uma ferramenta extremamente útil e versátil para quem trabalha com manipulação de imagens em Python. Com uma sintaxe simples e métodos diretos, ela permite que você realize uma ampla gama de operações de imagem de forma programática. Experimente os exemplos deste tutorial e comece a criar seus próprios projetos de manipulação de imagens!

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: