Eu tenho muitas imagens com bordas brancas ao seu redor. Eu gostaria de cortar essas fronteiras de uma só vez, de preferência na linha de comando. Acredito que isso possa ser feito com o ImageMagick, mas não encontrei o comando adequado.
Eu sei que isso pode ser feito com o programa Windows chamado Irfanview com a opção "Bordas de corte automático", mas estou procurando uma solução baseada no Ubuntu e preferencialmente na linha de comando.
Respostas:
ImageMagick Trim
A opção de linha de comando
trim
usada junto comconvert
oumogrify
permite aparar bordas da mesma cor que os cantos da imagem.Uso:
As opções adicionais
-fuzz
também removem cores próximas às cores dos cantos. Use a opção+repage
para remover uma tela (se aplicável).Aparamento em lote do ImageMagick (localizar)
O comando acima para o ImageMagick Trim também pode ser usado para processar imagens em lote enquanto combinado com o
find
comando:find ./ -name "pattern" -exec convert {} -trim outputfolder/{} \;
aparará todas as imagens que se encaixam em
pattern
parte do comando e as salvará na nova pasta denominadaoutputfolder
.Supondo que as imagens sejam PNGs, o comando será semelhante a este:
find ./ -name "*.png" -exec convert {} -trim outputfolder/{} \;
Aparamento em lote do ImageMagick (mogrify)
Embora
find
permita um controle muito maior onde os arquivos de saída serão colocados, também é possível fazer o mesmo com o ImageMagickmogrify
:mogrify -trim *.png
Observe que a
convert
operação diferente e em lote comfind
econvert
mogrify substitui todos os arquivos . É melhor fazer uma cópia de backup de todas as imagens no diretório antes de prosseguir com o comando mogrify.Nota lateral:
mogrify
pode ser usada para executar a maioria dasconvert
operações (se não todas) em lote, substituindo os arquivos originais.IrfanView
O IrfanView funciona muito bem com o Wine . Certifique-se de verificar cuidadosamente a saída do Irfanview, pois às vezes quebra as imagens quando usada com o Wine.
fonte
find
comando combinado , pois estava faltando na sua resposta.mogrify -trim *.jpg
cortar todas as imagens na pasta atual.