Python Pillow - Usando o Módulo de Imagem

Para exibir a imagem, a biblioteca de travesseiros está usando uma classe de imagem dentro dela. O módulo de imagem dentro do pacote de travesseiro contém algumas funções embutidas importantes, como carregar imagens ou criar novas imagens, etc.

Abrindo, girando e exibindo uma imagem

Para carregar a imagem, simplesmente importamos o módulo de imagem do travesseiro e chamamos o Image.open(), passando o nome do arquivo da imagem.

Em vez de chamar o módulo Pillow, chamaremos o módulo PIL para torná-lo compatível com versões anteriores de um módulo mais antigo chamado Python Imaging Library (PIL). É por isso que nosso código começa com“from PIL import Image” ao invés de “from Pillow import Image”.

Em seguida, vamos carregar a imagem chamando o Image.open() function, que retorna um valor do tipo de dados do objeto Imagem. Qualquer modificação que fizermos no objeto de imagem pode ser salva em um arquivo de imagem com osave()método. O objeto de imagem que recebemos usandoImage.open(), posteriormente pode ser usado para redimensionar, cortar, desenhar ou outras chamadas de método de manipulação de imagem neste objeto Image.

Exemplo

O exemplo a seguir demonstra a rotação de uma imagem usando almofada python -

from PIL import Image
#Open image using Image module
im = Image.open("images/cuba.jpg")
#Show actual Image
im.show()
#Show rotated Image
im = im.rotate(45)
im.show()

Resultado

Se você salvar o programa acima como Example.py e executar, ele exibirá as imagens originais e giradas usando o utilitário de exibição PNG padrão, como segue -

Actual image

Rotated image (45 degrees)

Atributos do Módulo de Imagem

A instância da classe Image possui alguns atributos. Vamos tentar entender alguns deles por exemplo -

Image.filename

Esta função é usada para obter o nome do arquivo ou o caminho da imagem.

>>>image = Image.open('beach1.jpg')
>>> image.filename
'beach1.jpg'

Formato de imagem

Esta função retorna o formato do arquivo de imagem como 'JPEG', 'BMP', 'PNG', etc.

>>> image = Image.open('beach1.jpg')
>>>
>>> image.format
'JPEG'

Image.mode

É usado para obter o formato de pixel usado pela imagem. Os valores típicos são “1”, “L”, “RGB” ou “CMYK”.

>>> image.mode
'RGB'

Tamanho da imagem

Ele retorna a tupla que consiste na altura e peso da imagem.

>>> image.size
(1280, 721)

Largura da imagem

Ele retorna apenas a largura da imagem.

>>> image.width
1280

Altura da imagem

Ele retorna apenas a altura da imagem.

>>> image.height
721

Image.info

Ele retorna um dicionário contendo dados associados à imagem.

>>> image.info
{'jfif': 257, 'jfif_version': (1, 1), 'dpi': (300, 300), 'jfif_unit': 1, 'jfif_density': (300, 300), 'exif': b"Exif\x00\x00MM\x00*\x00\x00\x00
....
....
\xeb\x00\x00'\x10\x00\x00\xd7\xb3\x00\x00\x03\xe8"}

Image.palette

Ele retorna a tabela de paletas de cores, se houver.

>>> image.palette

Output above - nenhum