Aprenda a mudar o tamanho de suas fotos com Python
Precisa mudar o tamanho de suas fotos, mas não sabe como? Python tem a solução com o auxílio das bibliotecas Pillow e OpenCV e seus métodos precisos.

Receba nossa newsletter

Redimensionar imagens com Python

Quem nunca precisou mudar o tamanho de uma imagem ou foto? Em áreas como machine learning e IA, alterar o tamanho de imagens é uma atividade comum do processamento de imagens e um requisito fundamental que pode impactar significativamente os projetos de visão computacional. Neste post, exploraremos como as bibliotecas Pillow e OpenCV do Python fornecem métodos simples, mas poderosos, para redimensionamento de imagem eficiente e eficaz.

Instalações

Para acompanhar o post em código, será preciso instalar os pacotes que usaremos:

				
					pip install pillow
pip install opencv-python
				
			

Redimensionamento de fotos com a biblioteca Pillow

O módulo Pillow (PIL) é uma ferramenta essencial muito utilizada por desenvolvedores que trabalham em projetos envolvendo imagens digitais. Com apenas algumas linhas de código, podemos redimensionar qualquer imagem para as dimensões desejadas sem sacrificar sua qualidade ou perder informações importantes:

				
					from PIL import Image # importa Image

# abre imagem/foto
img = Image.open('path/para/sua/imagem.jpeg') # substitua pelo local correto de sua foto - formato JPEG, JPG, PNG, TIFF, etc
nova_largura, nova_altura = 200, 200 # novas dimensões

img_redimensionada = img.resize((nova_largura, nova_altura)) # muda tamanho da imagem
img_redimensionada.save('img_novo_tamanho.jpg') # salva imagem - atualize nome/caminho conforme suas necessidades

				
			

A estrutura do código acima é bem simples. Apenas carregamos a imagem que queremos alterar as dimensões e usamos o método resize() para redimensionar a imagem (em píxeis). Neste exemplo, nova_largura e nova_altura representam as dimensões finais da imagem (no exemplo, 200 píxeis de largura e altura). Por fim, salvamos a imagem redimensionada. 

É importante observar que, por padrão, todas as outras dimensões da imagem original serão automaticamente reduzidas ou aumentadas em relação aos seus valores correspondentes, conforme as especificações do usuário contidas em nova_largura e nova_altura. A imagem redimensionada resultante pode ser facilmente usada em vários projetos relacionados à IA para tarefas como detecção de objetos, reconhecimento facial, etc.

Redimensionamento de imagem usando a biblioteca OpenCV

OpenCV é outra poderosa biblioteca Python que oferece recursos para o processamento de imagens digitais. Em comparação à biblioteca Pillow, os recursos do OpenCV são ainda mais avançados quando se trata de lidar com imagens. Entre esses recursos está a capacidade de redimensionar imagens e fotos com precisão através de técnicas de interpolação, como métodos de dimensionamento cúbicos ou bilineares usados em tarefas relacionadas à IA.  Abaixo, demonstramos como você pode aproveitar o OpenCV para redimensionar uma imagem, mantendo seu conteúdo principal:

				
					import cv2 # importa OpenCV

img = cv2.imread('local/da/sua/imagem') # substitua pelo local correto de sua foto
nova_largura, nova_altura = 1500, 1500

img_redimensionada = cv2.resize(img, (nova_largura, nova_altura), interpolation=cv2.INTER_CUBIC) # muda tamanho da imagem com INTER_CUBIC

cv2.imwrite('img_novo_tamanho.jpg', img_redimensionada) # salva imagem 


				
			

Neste exemplo, usamos cv2 para carregar nossa imagem de entrada e, em seguida, aplicamos a interpolação cúbica (a mais precisa de todas) para produzir uma nova imagem com alta qualidade usando o método INTER_CUBIC. Ele é particularmente bom quando queremos aumentar o tamanho de uma imagem. Outra alternativa eficaz do OpenCV para aumentar imagens é a interpolação INTER_LINEAR. Quando desejamos diminuir a imagem, um dos métodos recomendados do OpenCV é a interpolação INTER_AREA. Veja um exemplo abaixo de como usá-la, basta mudar o método de interpolação:

				
					import cv2 # importa OpenCV

img = cv2.imread('local/da/sua/imagem') 
nova_largura, nova_altura = 100, 100

img_redimensionada = cv2.resize(img, (nova_largura, nova_altura), interpolation=cv2.INTER_CUBIC) # muda tamanho da imagem com INTER_AREA

cv2.imwrite('img_novo_tamanho.jpg', img_redimensionada) # salva imagem 


				
			

As imagens redimensionadas com métodos da biblioteca OpenCV podem ser utilizadas em vários aplicativos de IA, como reconhecimento facial, e com desempenho e precisão significativamente melhores do que as opções mais simples de outras bibliotecas, como o Pillow, devido às técnicas de interpolação mais sofisticadas. E tudo isso oferecido em uma biblioteca de código aberto!

Conclusão

O redimensionamento de imagens é uma das muitas tarefas cruciais no campo da visão computacional. Ser capaz de executar esse processo de forma eficaz aumentará sua capacidade como desenvolvedor para trabalhar com aplicativos que utilizam e manipulam imagens.

Imagem com IA Generativa – Dia 597

IA generativa - img597

Arte com IA generativa: imagem do dia

Todos os dias postamos um exemplo de imagem artística gerada com inteligência artificial.

Tutoriais

Postagens Mais Recentes

Outras Postagens Que Podem Interessar

Veja
Mais

Fique em contato

Se inscreva para receber nossa newsletter com novidades.

aprendiz artificial