Neste artigo, vamos falar sobre como usar a biblioteca Pillow para analisar e processar imagens com base no seu conteúdo. A capacidade de analisar e processar imagens pode ser muito útil em várias aplicações, como detecção de objetos, rastreamento de movimento, reconhecimento de padrões e melhoria da qualidade de imagem.
Com o Pillow, podemos realizar várias operações para analisar e processar imagens. Abaixo estão alguns exemplos, ah! Coloque o código dentro de um bloco de código:
Redimensionar uma imagem
Neste código, algo muito útil é feito: uma imagem é redimensionada para um tamanho específico. Por que é importante redimensionar uma imagem? Bem, às vezes você precisa que uma imagem tenha um tamanho específico para se ajustar a um design ou para ser exibida corretamente em uma página da web. Ou talvez você precise reduzir o tamanho de uma imagem para ocupar menos espaço no disco rígido. Seja qual for o caso, redimensionar uma imagem é uma tarefa muito comum na edição de imagens.
Este código usa o PIL (Python Imaging Library) para abrir uma imagem em Python. A imagem original é especificada como ‘imagem.jpg’, mas você pode alterar este nome para que corresponda ao nome da imagem que deseja redimensionar. Depois de abrir a imagem original, uma variável chamada ‘size’ é criada contendo o tamanho desejado da imagem redimensionada. Neste caso, o tamanho é de 224 x 224 pixels. Você pode alterar este tamanho para qualquer outro tamanho que você precise para o seu projeto.
Depois que o tamanho desejado foi definido, o método ‘resize()’ da biblioteca PIL é usado para redimensionar a imagem original para esse tamanho. O resultado é armazenado na variável ‘imagem’. É importante observar que este método altera o tamanho da imagem original e cria uma nova imagem com o tamanho desejado.
Finalmente, a imagem redimensionada é salva usando o método ‘save()’ da biblioteca PIL. A imagem é salva com o nome ‘imagem_redimensionada.jpg’, mas você pode alterar este nome para qualquer outro nome que você deseje.
Este código é muito simples, mas é muito útil para a edição de imagens em Python. Se você precisar redimensionar imagens para um projeto, pode usar este código como ponto de partida e ajustá-lo às suas necessidades.
from PIL import Image # Abrir a imagem original imagem = Image.open('imagem.jpg') # Redimensionar a imagem para um tamanho específico tamanho = (224, 224) imagem = imagem.resize(tamanho) # Salvar a imagem redimensionada imagem.save('imagem_redimensionada.jpg')
Depois que redimensionarmos a imagem, podemos usar o Keras para detectar objetos. O Keras tem modelos pré-treinados para detecção de objetos, como o modelo YOLO. Para usar o modelo YOLO no Keras, podemos carregar o modelo pré-treinado e, em seguida, usar o método predict() para detectar objetos em uma imagem.
Contornos e formas
Os contornos são as linhas que delimitam a forma de um objeto em uma imagem. Para detectar contornos em uma imagem com o Pillow, podemos usar o método find_contours() da biblioteca scikit-image
O primeiro passo que temos que fazer é instalar as dependências, neste caso scikit-image e Pillow:
pip install scikit-image pip install Pillow
E aqui está o código:
from PIL import Image, ImageDraw from skimage import measure import numpy as np # Abrir a imagem imagem = Image.open('imagem.jpg') # Converter a imagem em escala de cinza imagem_cinza = imagem.convert('L') # Converter a imagem em uma matriz numpy matriz_imagem = np.array(imagem_cinza) # Detectar os contornos contornos = measure.find_contours(matriz_imagem, 0.8) # Desenhar os contornos na imagem original desenhar = ImageDraw.Draw(imagem) for contorno in contornos: for i in range(len(contorno) - 1): desenhar.line((contorno[i][1], contorno[i][0], contorno[i+1][1], contorno[i+1][0]), fill='red', width=2) # Mostrar a imagem com os contornos imagem.show()
Melhorando a qualidade da imagem
A qualidade de uma imagem pode ser melhorada de várias maneiras, como aumentando o contraste, a saturação e a nitidez. Para aumentar o contraste de uma imagem com o Pillow, podemos usar o método enhance().
from PIL import Image, ImageEnhance # Abrir a imagem imagem = Image.open('imagem.jpg') # Aumentar o contraste realçar = ImageEnhance.Contrast(imagem) imagem = realçar.enhance(1.5) # Mostrar a imagem com contraste aumentado imagem.show()
Estes são apenas alguns exemplos de como usar o Pillow para analisar e processar imagens com base no seu conteúdo. O Pillow é uma biblioteca muito poderosa e versátil que nos permite realizar uma grande variedade de operações de processamento de imagens.