Search
Close this search box.
Aprenda a converter o formato de fotos com Python
formato de foto

Posts Relacionados:

Precisa converter o formato de suas fotos, mas não sabe como? Aprenda a convertê-las facilmente com Python com a ajuda das bibliotecas Pillow e OpenCV.

Receba nossa newsletter

Converta o formato de fotos com Python

converta o formato de foto com Python

Na era das redes sociais, a necessidade de manipularmos fotos é constante. Além de alterações sofisticadas, também precisamos realizar operações simples, como a conversão de um formato de foto para outro. Por exemplo, a conversão de arquivos PNG para JPEG (equivalente a JPG) é uma necessidade comum quando precisamos reduzir o tamanho das imagens em bytes. E, é claro, o Python é um ótimo aliado nessas horas. Neste post, abordaremos como é fácil converter fotos e outras imagens usando Python.

Bibliotecas

Para converter imagens com Python, podemos escolher uma de suas bibliotecas apropriadas para a tarefa. Existem várias opções, incluindo Pillow, OpenCV, imageio, entre outras. Neste post, usaremos Pillow e OpenCV. As instalações podem ser feitas com pip:

				
					pip install Pillow

pip install opencv-python
				
			

conversão de fotos com Pillow

Converter fotos e imagens com Pillow é literalmente brincadeira de criança. Veja o código ridiculamente simples abaixo:

				
					from PIL import Image # importa Image

# Converte foto de PNG para JPG
# abre imagem/foto
img = Image.open('minha_foto.png') # substitua pelo local correto de sua foto

# Salva foto no novo formato mudando sua extensão
img.save('minha_foto_convertida.jpg')
				
			

Neste código, apenas importamos a classe Image do Pillow (PIL). Depois, especificamos o local da imagem que desejamos converter (especifique o seu local corretamente). Após isso, basta abrir a imagem com Pillow e salvá-la com a extensão desejada. No código acima, convertemos uma imagem PNG para JPG. Abaixo, fazemos a conversão contrária:

				
					
# Converte foto de JPG para PNG
# abre imagem/foto
img = Image.open('minha_foto.jpg') # substitua pelo local correto de sua foto

# Salva foto no novo formato mudando sua extensão
img.save('minha_foto_convertida.png')
				
			

Conversão de fotos com OpenCV

A conversão de formato de fotos com OpenCV é tão fácil quanto com Pillow. Até a estrutura do código é a mesma! A única diferença está no nome dos comandos usados (ao invés de Image.open() e Image.save(), usamos cv2.imread() e cv2.imwrite()):

				
					import cv2 # importa OpenCV

# abre imagem/foto com OpenCV
img = cv2.imread('minha_foto.png') # substitua pelo local correto de sua foto

# Salva foto no novo formato mudando sua extensão, note que o comando precisa de nome e imagem como argumentos
cv2.imwrite('minha_foto_convertida.jpg', img)
				
			

Neste código, repetimos o procedimento anterior. Importamos a biblioteca (cv2), abrimos a imagem que queremos converter com OpenCV e a salvamos com o formato desejado. A única diferença mais importante entre os dois códigos está na última linha (salvamento). O OpenCV requer que especifiquemos o nome da nova imagem e a imagem em questão.

Conversão em série

Geralmente, não queremos converter apenas uma imagem, mas várias. Python também realiza esse tipo de operação sem dificuldades com a ajuda do módulo os. Veja um exemplo abaixo de como você pode realizar essa operação em poucos segundos:

				
					import os
from PIL import Image

# define o diretório de origem com suas imagens originais
dir_origem = 'especifique_seu_diretório_de_origem'

# define o diretório de destino para salvar as imagens convertidas
dir_destino = 'especifique_seu_diretório_de_destino'

minhas_fotos = os.listdir(dir_origem) # cria lista com as fotos do diretório de origem

# loop para converter fotos uma a uma
for foto in minhas_fotos:
    img = Image.open(os.path.join(dir_origem, foto)) # abre uma foto da pasta

    # para criar novo nome, usamos split() para separar apenas o nome original sem sua extensão
    nome_nova_imagem = foto.split('.')[0] 
    
    # usa nome separado acima para criar o local completo para o salvamento da nova imagem
    nova_img = os.path.join(dir_destino, nome_nova_imagem +'_convertida.jpg') # a extensão definida aqui muda o formato da imagem

    # salva foto convertida no diretório de destino
    img.save(nova_img)
				
			

Neste exemplo, usamos o módulo os para acessar um diretório de origem com nossas fotos e também um diretório de destino onde armazenaremos as fotos convertidas. Depois, criamos uma lista das nossas fotos originais com os.listdir(). Em seguida, usamos um loop para abrir uma foto de cada vez, renomeá-la com a extensão desejada e salvá-la na pasta de destino. Neste trecho, usamos PIL para executar a conversão, mas você pode usar OpenCV se essa for a sua preferência! Para isso, apenas altere o pacote importado e as linhas 14 e 23 com os comandos corretos do OpenCV mostrados anteriormente.

Imagem com IA Generativa – Dia 536

IA generativa - img536

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