Como cortar bordas / espaços em branco da imagem?

52

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.

Rafal
fonte
Você já experimentou o Gimp?
Mitch
11
@ Mitch Não, eu não sabia que o Gimp tem modo de lote. De qualquer forma, usar o ImageMagick Trim é mais simples, por isso vou ficar com essa solução.
Rafael
O ingênuo geralmente sugerir soluções GUI ...
Wilf

Respostas:

65

ImageMagick Trim

A opção de linha de comando trimusada junto com convertou mogrifypermite aparar bordas da mesma cor que os cantos da imagem.

Uso:

convert input.png -trim output.png

As opções adicionais -fuzztambém removem cores próximas às cores dos cantos. Use a opção +repagepara 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 findcomando:

find ./ -name "pattern" -exec convert {} -trim outputfolder/{} \;

aparará todas as imagens que se encaixam em patternparte do comando e as salvará na nova pasta denominada outputfolder.

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 findpermita um controle muito maior onde os arquivos de saída serão colocados, também é possível fazer o mesmo com o ImageMagick mogrify:

mogrify -trim *.png

Observe que a convertoperação diferente e em lote com finde convert 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: mogrifypode ser usada para executar a maioria das convertoperaçõ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.

Takkat
fonte
Funciona. Muito obrigado. Adicionei informações sobre o processamento de imagens em lote com o ImageMagick quando o findcomando combinado , pois estava faltando na sua resposta.
Rafal
9
Eu costumava mogrify -trim *.jpgcortar todas as imagens na pasta atual.
Buttle Butkus
11
Isso é ótimo. Isso me salvou muito tempo. TX :)
antmw1361
@ButtleButkus Editei a resposta para incluir essas informações. Por alguma razão, eu esqueci essa opção anteriormente.
Rafal
11
existe alguma maneira de aparar uma imagem png ao longo de sua altura, mantendo a largura fixa?
DDAs