Olá, caro leitor! Seja muito bem-vindo a mais uma edição da "Dicas Pythonicas".
No pyPRO, estamos sempre em busca de formas práticas e eficientes para que você expanda suas habilidades em Python.
Hoje, vamos falar sobre como manipular imagens utilizando a linguagem Python. Existem vários pacotes específicos para esse propósito, mas um dos mais simples e poderosos é o Pillow. Este pacote permite realizar diversas operações com imagens, como abrir, editar, e salvar, de forma extremamente intuitiva. Antes de usar, é necessário instalá-lo com:
pip install pillow
Para mais detalhes, você pode consultar a documentação oficial:
https://pillow.readthedocs.io/en/stable/handbook/tutorial.html
Veja o exemplo de manipulação de imagens:
""" Mini editor de Foto """
from PIL import Image, ImageFilter
# Abrindo uma imagem
imagem = Image.open('image.png')
# Exibindo informações da imagem
print(imagem.format, imagem.size, imagem.mode)
# Exibir a imagem
imagem.show()
# Colocando a imagem em tons de cinza
imagem_editada = imagem.convert(mode='L')
imagem_editada.show()
'''
# Recortando a imagem
imagem.crop((0, 10, 10, 10)) # esquerda, topo, direita, baixo
# Borrando (Blur) a imagem
imagem.filter(ImageFilter.GaussianBlur(15))
# Rotacionando a imagem
imagem.rotate(90)
# Redefinindo o tamanho da imagem
imagem.resize((350, 350)) # largura, altura
# Virando a imagem
imagem.transpose(Image.FLIP_LEFT_RIGHT)
# Ajustando o brilho da imagem
imagem.point(lambda i: i * 1.2)
# Ajustando a nitidez da imagem
imagem.filter(ImageFilter.SHARPEN)
'''
# Salvando a imagem
imagem_editada.save('image_editada.png')
Como Funciona?
- Importando o Pillow: PIL é importado como Image e ImageFilter para aplicar filtros e manipulações.
- Abertura e Exibição: Image.open() carrega a imagem, e imagem.show() a exibe.
- Manipulações Básicas:
- Tons de Cinza: imagem.convert(mode='L') converte a imagem para tons de cinza.
- Recorte, Blur, Rotação e Redimensionamento: Através de métodos como crop(), filter(), rotate(), e resize(), você pode modificar a imagem conforme necessário.
- Espelhamento e Ajustes: transpose() espelha a imagem, e funções como point() e filter() ajustam brilho e nitidez.
- Salvamento: imagem_editada.save() salva a imagem editada com um novo nome.
Aplicações
- Edição de Imagens: Ferramentas como essa podem ser úteis para automação de processos de edição em massa.
- Análise de Imagens: Converter imagens para tons de cinza ou aplicar filtros pode ser o primeiro passo em projetos de visão computacional.
Espero que esta dica te inspire a explorar a edição de imagens com Python de maneira prática e poderosa. Fique atento à próxima edição para mais truques que tornarão seu código ainda mais profissional!
Um forte abraço,
Prof. Dr. Dilermando Piva Jr.
Idealizador do pyPRO
Visite: https://pypro.com.br para mais informações sobre Python, Ciência de Dados e Git/GitHub.