🎉 SEMANA DO CONSUMIDOR

Últimos dias para comprar os cursos com 50% de desconto

Ver detalhes

Postado em em 9 de julho de 2024

Aprenda como utilizar a biblioteca Pillow no Python para fazer o processamento de imagens!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Biblioteca Pillow no Python – Processamento de Imagens no Python

Você sabia que é possível fazer o processamento de imagens no Python? Nessa aula eu vou te mostrar como fazer isso utilizando a biblioteca Pillow.

Com essa biblioteca nós vamos poder converter o formato da imagem, modificar o tamanho, rotacionar e até mesmo editar as cores das imagens.

Além disso, podemos utilizar o ImageFilter para colocar filtros de imagem no Python, como esses que temos nas redes sociais como o Instagram ou em programas de edição de imagem.

Curtiu o conteúdo? Então faça o download do material disponível e vem comigo aprender a usar a biblioteca pillow no Python!

Biblioteca Pillow Python

A Pillow é uma eficiente biblioteca de manipulação, tratamento e processamento de imagens no Python. Ela oferece uma variedade de ferramentas úteis para a manipulação de imagens.

Essencialmente, a biblioteca Pillow pode ser utilizada para tarefas como compressão de imagens, redimensionamento, conversão entre formatos e aplicação de filtros.

Diferente de outras bibliotecas, esta se destaca pela eficiência e praticidade em realizar diversas operações com imagens de forma rápida e prática.

Instalação e Importação da Biblioteca Pillow

O primeiro passo para utilizarmos essa biblioteca é fazer a instalação dela através do comando: pip install pillow.

Instalação da Biblioteca Pillow

Obs.: Caso você utilize o Mac, pode ser necessário executar alguns comandos adicionais para permitir o tratamento de imagens pelo Pillow. Para obter mais informações sobre a biblioteca e sua instalação, consulte a documentação oficial:

Feita a instalação, podemos importar a biblioteca e começar a utilizá-la. Porém, como o Pillow possui muitas ferramentas, é comum importarmos diretamente as ferramentas necessárias para o que vamos utilizar.

Por exemplo, para a manipulação de imagens, utilizaremos o módulo Image, então, podemos importar apenas esse módulo:

from PIL import Image

Lendo e Visualizando a Imagem

No material disponível para download você encontrará duas imagens que você pode utilizar para treinar e testar essa biblioteca ao longo dessa aula.

Para começar, precisamos ler a imagem que iremos utilizar. Podemos fazer isso criando uma variável que armazenará as informação da imagem obtidas através da função open(), passando para ela o caminho até a imagem.

Em seguida, podemos chamar o método show() para exibir a imagem selecionada.

from PIL import Image

# mostrar
imagem = Image.open("imagens/python lira.png")
imagem.show()

Executando esse código, teremos a imagem sendo exibida na ferramenta padrão de imagens do seu computador.

Visualizando a Imagem

O código ficará em execução enquanto a imagem estiver aberta, sendo encerrado somente quando você fechar a janela.

Converter o Formato da Imagem

Para conversão entre formatos de imagem é bem simples, basta utilizarmos o método save, passando o novo nome da imagem com a extensão desejada.

from PIL import Image

imagem = Image.open("imagens/python lira.png")

# converter (save as jpg)
imagem.save("imagens/python lira.jpg")

Em alguns casos, é possível termos um erro ao tentar converter o formato da imagem. Isso acontece principalmente quando temos transparência em imagens PNG, que não são suportadas por arquivos JPG.

Para solucionar esse problema, podemos primeiro converter a imagem original para o padrão RGB antes de salvá-la em um formato diferente. Para isso, podemos utilizar o método convert passando como argumento o padrão RGB.

from PIL import Image

imagem = Image.open("imagens/python lira.png")

# converter (save as jpg)
# tentar direto, se der erro, tornar RGB e converter em jpg
imagem_rgb = imagem.convert("RGB")
imagem_rgb.save("imagens/python lira.jpg")

Feito isso, a imagem será salva normalmente.

Imagens salvas

Modificar o Tamanho da Imagem – Redimensionar a Imagem

Outra funcionalidade interessante da biblioteca Pillow é a capacidade de redimensionar a imagem original sem comprometer sua qualidade, desde que a conversão seja feita para um tamanho menor do que o original.

Podemos fazer isso utilizando o método thumbnail. Esse método recebe como argumento uma tupla contendo o tamanho para o qual desejamos redimensionar a imagem, sendo o primeiro valor referente à largura e o segundo à altura.

from PIL import Image

imagem = Image.open("imagens/python lira.png")

# resize (muito util em servidores/sites)
tamanho = (500, 500)
imagem.thumbnail(tamanho)
imagem.save("imagens/python lira 500.png")

O interessante desse método é que ele mantém as proporções ao redimensionar a imagem, evitando assim distorções visuais.

Ou seja, em uma imagem retangular, ao invés de forçar o redimensionamento para 500×500, ele irá redimensionar a largura para 500 e a altura para uma medida proporcional.

Rotacionar Imagem com Pillow

Além dos métodos que vimos até agora, o Pillow oferece uma variedade de métodos de edição de imagens, permitindo aplicar filtros, converter formatos, entre outras manipulações.

Começando pelo método rotate, que nos permite rotacionar uma imagem especificando como argumento os graus desejados. Por exemplo, podemos rotacionar a imagem em 180º para deixá-la de cabeça para baixo.

from PIL import Image

imagem = Image.open("imagens/python lira.png")

# rotate
imagem.rotate(180).save("imagens/lira pra baixo.png")
Pillow Rotate - Lira pra baixo

Editar Cores das Imagens

Para editar e converter as cores da imagem, podemos utilizar o método convert que já vimos anteriormente. Ele permite a conversão de imagens em RGB, em escala de cinza e muito mais.

Por exemplo, podemos deixar a imagem em preto e branco passando como argumento a letra L, que converte a imagem para escala de cinza.

from PIL import Image

imagem = Image.open("imagens/python lira.png")

# preto e branco
imagem.convert("L").save("imagens/lira preto e branco.png")
Convert Pillow - Lira em Preto e Branco

Você pode conferir todas as opções na documentação da biblioteca Pillow.

Filtros nas Imagens – ImageFilter

Por fim, uma funcionalidade muito interessante dessa biblioteca é a capacidade de aplicar filtros de imagem. Assim como temos em editores de imagens e redes sociais, podemos utilizar alguns filtros prontos dentro da Pillow.

Para isso, é necessário importar o módulo ImageFilter e utilizar a função filter. Essa função recebe como argumento o filtro que você deseja aplicar. Por exemplo, para deixar a imagem desfocada, podemos utilizar o filtro GaussianBlur.

# filtros

from PIL import ImageFilter

imagem.filter(ImageFilter.GaussianBlur(20)).save("imagens/lira borrado.png")

Perceba que esse filtro também precisa receber um argumento que irá definir o quanto de desfoque será aplicado à imagem.

ImageFilter Pillow - Lira Borrado

Você pode conferir os outros filtros disponíveis na documentação:

Conclusão – Biblioteca Pillow no Python – Processamento de Imagens no Python

Nessa aula, você aprendeu como utilizar a biblioteca Pillow no Python para fazer o processamento de imagens!

Com ela você poderá converter o formato da imagem, modificar o tamanho, rotacionar, editar as cores e até mesmo aplicar filtros de imagens.

A biblioteca Pillow é uma eficiente e versátil ferramenta no Python, podendo ser utilizada em diversos projetos que envolvem processamento de imagens, desde simples redimensionamentos até o reconhecimento de padrões e edições mais complexas.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes da Hashtag Treinamentos

Diego Monutti

Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.