Como converter imagens em massa de um formato para outro?

44

Quero converter um lote de imagens, quase 100, de jpg para png. Como posso fazer isso sem renomeá-los, mas na verdade convertendo o formato?

opu 웃
fonte
Use o convertcomando Não mesmo. Mas você vai querer renomeá-los de algo.jpg para algo.png.
29714 Jos
1
@jos, pelo seu comentário eu não entendo o que devo fazer !!
Ops #
Não terminei de editar ;-) Primeiro, use o convertcomando em um único arquivo .jpg e veja se funciona. Em seguida, escreva um script que faça um loop nos arquivos .jpg e os converta em arquivos .png.
29714 Jos
Você não mencionou como posso usar o convertcomando em um único arquivo .jpg. E não sei como escrever um script que faça um loop nos arquivos .jpg.
Ops #

Respostas:

65

Experimente estes comandos,

mogrify -format png /path/*.jpg    

Isso converterá todos os arquivos .jpg em arquivos .png e salvará os arquivos convertidos no mesmo diretório.

mv /path/*.png ~/Desktop/pic

Isso moverá todos os .pngarquivos (convertidos) para o picdiretório que reside na área de trabalho.

Avinash Raj
fonte
Devo mudar o diretório?
precisa saber é o seguinte
1
/path/*.jpgrepresenta o diretório em que os arquivos .jpg estão armazenados.
Avinash Raj
Eu também tentei este comando depois de alterar o diretório: mogrify -format png .jpgIsso também funciona muito bem.
precisa saber é o seguinte
A resposta abaixo é melhor , pois leva em conta os limites impostos ao ARGV.
Evan Carroll
Há um ótimo guia aqui: algissalys.com/how-to/… Também aborda a alteração do tamanho da imagem, o que é útil, por exemplo. adicionando resize 800x mudanças laterais mais longa a 800 :)
Craig Lambie
42

Usando o ImageMagick .

Primeiro instale o imagemagick:

sudo apt-get install imagemagick

Tente converter apenas uma imagem no início:

convert image.jpg image.png

Agora converta tudo:

mogrify -format png *.jpg

EDITAR

Você também precisa dividi-lo em partes que se ajustem para evitar atingir o limite de quanto você pode colocar em uma linha de comando. Isso deve funcionar melhor:

find -name '*.jpg' -print0 | xargs -0 -r mogrify -format png

O -print0e -0são usados ​​para manipular espaços nos nomes de arquivos e os -rmeios não são executados em mogrificação se não houver nada a fazer.

Fonte: https://stackoverflow.com/questions/1010261/running-a-batch-with-imagemagick

EDIT 2 png e jpg alternados conforme o comentário do @ Glutanimate.

EDIT 3 Alterou png para jpg na última sugestão.

Parto
fonte
Uma imagem convertida com sucesso. Mas quando eu usei comando para converter toda a sua exibição mogrify.im6: unable to open image ``*.png': No such file or directory @ error/blob.c/OpenBlob/2638.``mogrify.im6: unable to open file ``*.png' @ error/png.c/ReadPNGImage/3667.
opu 웃
Você precisará cdprimeiro desse diretório. Se eles estiverem na área de trabalho, execute cd ~/Desktopprimeiro e tente converter novamente.
Parto 29/04
Alterei
@ Cartoon eu acho que deveria ser mogrify -format png *.jpg. O OP está perguntando sobre a conversão de jpg → png.
precisa saber é o seguinte
não funcionou para mim com 14.04 @Parto
talha06 18/06
0

Sei que já faz muito tempo desde que essa pergunta foi feita, mas há um software brilhante que não foi mencionado e que usei muito.

http://photobatch.wikidot.com/ também conhecido como Phatch. Ele literalmente converte qualquer coisa de qualquer coisa para qualquer outra coisa em termos de imagem. Não foi atualizado por um tempo, mas agora afirma ser lançado para o Ubuntu 17.10. De uma chance. Estou confiante de que você ficará muito feliz com isso.

George Tasker
fonte
2
Tentei obter este software, o link "download" para o arquivo deb está ausente no link acima e a versão "store" do Ubuntu me deu o seguinte erro: Erros detalhados do gerenciador de pacotes seguem: transação apt retornou resultado Ubuntu com falha na saída v 18.10 talvez? Enfim - a minha experiência.
Craig Lambie