Python é conhecido por sua versatilidade. Você pode criar ferramentas utilitárias do mundo real em Python que podem simplificar e automatizar determinadas tarefas.
Aprenda a criar um conversor de tipo de imagem com apenas algumas linhas simples de código Python. Seja um único arquivo de imagem ou todos os arquivos em um diretório, você pode facilmente converter entre diferentes formatos.
Instalando as Bibliotecas Necessárias
Você precisa instalar o Travesseiro Biblioteca Python para construir um conversor de tipo de imagem em Python. Essa biblioteca aprimora os recursos de processamento de imagem do seu interpretador Python. Você pode criar uma ferramenta geral de processamento de imagem usando vários módulos desta biblioteca. Alguns dos mais úteis são os Imagem, Arquivo de imagem, Filtro de imagem, e ImageStat módulos.
Execute o seguinte comando no terminal para instalar a biblioteca Pillow Python:
pip instalar travesseiro
Depois de instalar o Pillow em seu sistema, você estará pronto para trabalhar com imagens.
Carregando e exibindo as propriedades de uma imagem
Primeiro você precisa importar o Imagem módulo do PIL biblioteca para configurar o código. Em seguida, você precisa usar o Image.open() para carregar a imagem e atribuí-la a uma variável. Depois de carregar a imagem, você pode exibi-la usando o mostrar() método.
O código do conversor de formato de imagem está disponível em um Repositório GitHub e é gratuito para você usar sob a licença MIT.
de PIL importar Imagem
imagem = Image.open('imagem-amostra.jpg')
imagem.mostrar()
A imagem que você passou como parâmetro para o abrir() O método será aberto depois que você executar o código. Este é um bom primeiro passo, como uma verificação de sanidade, para garantir que você instalou a biblioteca com sucesso em seu sistema.
O módulo Image fornece várias outras propriedades que você pode usar para obter mais informações sobre a imagem.
# Importando biblioteca
de PIL importar Imagem# Carregando a imagem
imagem = Image.open('imagem-amostra.jpg')# Imprime o nome do arquivo
imprimir("Nome do arquivo: ", imagem.nome do arquivo)# Imprime o formato do arquivo
# Por exemplo, PNG, JPG, GIF, etc.
imprimir("Formatar: ", Formato de imagem)# Imprime o modo do arquivo
# Ex: RGB, RFBA, CMYK, etc.
imprimir("Modo: ", imagem.modo)# Imprime o tamanho como uma tupla de largura e altura (em pixels)
imprimir("Tamanho: ", tamanho da imagem)# Imprime a largura da imagem (em pixels)
imprimir("Largura: ", Largura da imagem)# Imprime a altura da imagem (em pixels)
imprimir("Altura: ", Altura da imagem)
# Fechando a imagem
imagem.fechar()
Você deve ver alguns dados significativos sem erros:
Como converter formato de imagem usando Python
Você pode simplesmente converter o formato de arquivo de uma imagem usando o salvar() método. Você só precisa passar o novo nome do arquivo e extensão como parâmetro para o salvar() método. O salvar() O método identificará automaticamente a extensão que você passou e salvará a imagem no formato identificado. Mas antes de usar o salvar() método, pode ser necessário especificar o modo da imagem (RGB, RGBA, CMYK, HSV, etc.).
De acordo com a documentação oficial do travesseiro, o modo de uma imagem é uma string que define o tipo e a profundidade de um pixel na imagem. A biblioteca de almofadas suporta 11 modos, incluindo os seguintes modos padrão:
RGB (pixels de 3x8 bits, cor verdadeira)
RGBA (pixels de 4x8 bits, cor verdadeira com máscara de transparência)
CMYK (pixels de 4x8 bits, separação de cores)
HSV (pixels de 3x8 bits, Hue, Saturation, Value color space)
Como converter uma imagem de PNG para JPG e JPG para PNG
Você precisa passar a string nome do arquivo.jpg como parâmetro para o salvar() método para converter arquivos de imagem em qualquer formato (PNG, GIF, BMP, TIFF, etc.) para o formato JPG. Além disso, você precisa fornecer o modo da imagem. O código a seguir converte uma imagem de Formato PNG para formato JPG:
# Biblioteca de Importação
de PIL importar Imagem# Carregando a imagem
imagem = Image.open('sample-png-image.png')# Especificando o modo RGB para a imagem
imagem = imagem.converter('RGB')
# Convertendo uma imagem do formato PNG para JPG
imagem.salvar("convertido-jpg-image.jpg")
imprimir("Imagem convertida com sucesso!"
Você perderá qualquer transparência em uma imagem se a converter para o formato JPG. Se você tentar preservar a transparência usando o RGBA modo, o Python lançará um erro.
Você pode converter uma imagem em qualquer formato para o formato PNG usando o salvar() método. Você só precisa passar a imagem PNG como parâmetro para o salvar() método. O código a seguir converte uma imagem do formato JPG para o formato PNG:
# Biblioteca de Importação
de PIL importar Imagem# Carregando a imagem
imagem = Image.open('sample-jpg-image.jpg')
# Convertendo imagem do formato JPG para PNG
imagem.salvar("convertido-png-image.png")
imprimir("Imagem convertida com sucesso!")
A conversão de uma imagem para PNG preserva qualquer transparência. Por exemplo, se você converter uma imagem GIF transparente em uma imagem PNG, o resultado ainda será uma imagem transparente.
Como converter uma imagem para qualquer outro formato usando Python
Semelhante às etapas acima, você pode converter uma imagem em qualquer formato para qualquer outro formato usando o salvar() método. Você só precisa fornecer a extensão de imagem correta (.webp, .png, .bmp, etc.) salvar() método. Por exemplo, o código a seguir converte uma imagem do formato PNG para WebP:
# Biblioteca de Importação
de PIL importar Imagem# Carregando a imagem
imagem = Image.open('sample-transparent-png-image.png')
# Convertendo uma imagem do formato PNG para WEBP
imagem.salvar("imagem-webp-convertida.webp")
imprimir("Imagem convertida com sucesso!")
Tratamento de erros para arquivos de imagem ausentes
Caso o código não consiga encontrar a imagem de entrada, ele lançará um erro. Você pode lidar com isso usando o FileNotFoundErrorexceção Python.
# Biblioteca de Importação
de PIL importar Imagemtentar:
# Carregando a imagem
imagem = Image.open('nome-arquivo-errado.jpg')# Convertendo imagem do formato JPG para PNG
imagem.salvar("convertido-png-image.png")
imprimir("Imagem convertida com sucesso!")
exceto FileNotFoundError:
imprimir("poderia't encontrar a imagem fornecida")
Convertendo todas as imagens em um diretório para um formato diferente
Se houver vários arquivos de imagem em um diretório que você deseja converter para um formato diferente, poderá fazê-lo facilmente com apenas algumas linhas de código em Python. Você precisa importar o glob biblioteca para percorrer os arquivos no diretório atual ou dentro de uma determinada pasta. O código a seguir converte todas as imagens JPG no diretório atual para o formato PNG:
de PIL importar Imagem
importar glob
para arquivo em glob.glob("*.jpg"):
imagem = Image.open (arquivo)
imagem.salvar (arquivo.substituir("jpg", "png"))
Se você deseja converter um conjunto diferente de arquivos, altere o parâmetro de string que você passa para o globo() método.
Crie uma GUI usando Python
Bibliotecas Python como Pillow facilitam o desenvolvimento de ferramentas para lidar com imagens em Python. Você pode executar tarefas rapidamente com uma interface de linha de comando, mas uma GUI é essencial para criar uma experiência amigável. Você pode criar aplicativos GUI mais especializados usando estruturas Python como Tkinter e wxPython.