Biblioteca Pillow no Python – Processamento de Imagens no Python
Aprenda como utilizar a biblioteca Pillow no Python para fazer o processamento de imagens!
Com a biblioteca Pillow, você processa imagens no Python por código: abre e exibe arquivos, converte formatos (como PNG para JPG), redimensiona sem perder proporção, rotaciona, transforma em preto e branco e aplica filtros como o desfoque GaussianBlur. Para começar, instale com pip install pillow e importe o módulo Image.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: A Pillow instala como pillow mas importa como PIL: from PIL import Image. A partir de Image.open() saem as quatro operações do dia a dia, converter formato com save(), redimensionar com thumbnail(), girar com rotate() e aplicar efeito com filter() (este exige importar também o ImageFilter).
Neste vídeo (21 min):
- 1:00 - Para que serve: compactar, redimensionar, trocar de formato, girar, aplicar filtro, converter para preto e branco.
- 2:00 -
pip install pillow, no Mac a documentação pede um passo extra de instalação. - 2:30 - A pegadinha do nome: instala pillow, importa PIL, convenção herdada da biblioteca original.
- 3:00 - A leitura é
imagem = Image.open("imagens/arquivo.png"); caminho relativo funciona se estiver na pasta do código. - 4:00 -
imagem.show()abre no visualizador do sistema e trava o código até a janela ser fechada, uma imagem por vez. - 5:00 - Converter formato é só salvar com outra extensão:
imagem.save("imagens/arquivo.jpg"). - 5:30 - Erro clássico ao ir de PNG para JPG: cannot write mode RGBA as JPEG, o PNG tem transparência, o JPG não.
- 6:30 - A solução é
imagem_rgb = imagem.convert("RGB")antes de salvar; o fundo transparente vira preto. - 8:00 - Para redimensionar:
imagem.thumbnail((300, 300)), com o tamanho em tupla (largura, altura). - 10:00 - O
thumbnailpreserva a proporção, pedindo 300×300 numa imagem 688×720 sai 287×300, sem distorcer. - 11:00 - Ele também não aumenta a imagem: o valor é sempre o tamanho máximo do maior lado.
- 13:00 - Girar é
imagem.rotate(90); 180 vira a imagem de cabeça para baixo. - 15:00 - Preto e branco:
imagem.convert("L"), o modo L é a escala de cinza. - 18:00 - Filtros exigem
from PIL import ImageFiltere a chamadaimagem.filter(ImageFilter.GaussianBlur(15)), onde o número é a intensidade.
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.

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 ImageLendo 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.

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.

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 500x500, 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")
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")
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.

Você pode conferir os outros filtros disponíveis na documentação:
Perguntas frequentes
1. O que é a biblioteca Pillow no Python?
Pillow é uma biblioteca de código aberto para manipulação e processamento de imagens no Python. Ela é uma evolução da antiga PIL e oferece ferramentas para abrir, salvar, redimensionar, cortar, rotacionar, converter formatos, editar cores e aplicar filtros — tudo por meio de código, sem precisar de um editor gráfico.
2. Como instalar a biblioteca Pillow?
Para instalar o Pillow, abra o terminal do seu editor e execute o comando pip install pillow. Depois da instalação, importe apenas o módulo que vai usar, como from PIL import Image. No Mac, pode ser necessário rodar comandos adicionais indicados na documentação oficial da biblioteca.
3. Como redimensionar uma imagem com o Pillow?
Para redimensionar uma imagem no Pillow, abra-a com Image.open e use o método thumbnail, passando uma tupla com a largura e a altura desejadas, como (500, 500). Esse método mantém as proporções da imagem original, evitando distorções, e você salva o resultado com o método save.
4. Como converter PNG em JPG com o Pillow?
Para converter uma imagem, abra-a com Image.open e use o método save com o novo nome e extensão, como imagem.save('foto.jpg'). Se o PNG tiver transparência, o JPG pode gerar erro; nesse caso, converta antes para o padrão RGB com o método convert('RGB') e então salve normalmente.
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!
Posts mais recentes da Hashtag Treinamentos
- Dots do ChatGPT: o que é e como usar esse agente de IADescubra o que é o Dots do ChatGPT, como configurar, integrar com Slack e agenda e se vale a pena usar esse novo agente de IA da OpenAI.
- GPT-6 Astra: 7 usos reais do novo modelo da OpenAIVeja 7 usos reais do GPT-6 Astra, o novo modelo da OpenAI que executa tarefas sozinho no computador. Entenda como ele funciona e onde ainda erra.
- Jev IA: o que é e como usar essa IA que não escreveEntenda o que é o Jev IA, a inteligência artificial classificadora mais rápida e barata do mercado, e veja 5 usos práticos para seus fluxos.
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.








