Come ritagliare bordi / spazi bianchi dall'immagine?


52

Ho molte immagini che hanno bordi bianchi attorno a loro. Vorrei tagliare quei bordi tutti in una volta, preferibilmente dalla riga di comando. Credo che possa essere fatto con ImageMagick, ma non sono riuscito a trovare il comando adatto.

So che può essere fatto con il programma Windows chiamato Irfanview con l'opzione "Confini con ritaglio automatico", ma sto cercando una soluzione basata su Ubuntu e preferibilmente basata sulla riga di comando.


Hai provato Gimp?
Mitch

1
@Mitch No, non sapevo che Gimp avesse la modalità batch. Ad ogni modo, usare ImageMagick Trim è più semplice, quindi rimarrò con quella soluzione.
Rafal,

Il dupe generalmente suggerisce soluzioni GUI ...
Wilf,

Risposte:


65

ImageMagick Trim

L'opzione della riga di comando trimutilizzata insieme converto mogrifyconsente di tagliare i bordi dello stesso colore degli angoli di un'immagine.

Uso:

convert input.png -trim output.png

Le opzioni aggiuntive -fuzzrimuovono anche i colori vicino ai colori degli angoli. Utilizzare l'opzione +repageper rimuovere una tela (se applicabile).

ImageMagick Batch Trim (trova)

Il comando precedente per ImageMagick Trim può essere utilizzato anche per l'elaborazione batch di immagini mentre combinato con il findcomando:

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

taglierà tutte le immagini che si inserisce patternparte di comando e di salvarli in nuova cartella denominata outputfolder.

Supponendo che le immagini siano PNG, il comando sarà simile al seguente:

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

ImageMagick Batch Trim (mogrify)

Mentre findconsente un controllo molto maggiore su dove verranno posizionati i file di output, è anche possibile fare lo stesso con ImageMagick mogrify:

mogrify -trim *.png

Si noti che, diversamente dalle convertoperazioni in batch finde con convert mogrify, vengono sovrascritti tutti i file . È meglio fare una copia di backup di tutte le immagini nella directory prima di procedere con il comando mogrify.

Nota a margine: mogrifypuò essere utilizzato per eseguire la maggior parte (se non tutte) le convertoperazioni in batch, sovrascrivendo i file originali.

IrfanView

IrfanView funziona abbastanza bene con Wine . Assicurati di controllare attentamente l'output di Irfanview, poiché a volte interrompe le immagini quando viene utilizzato con Wine.


Funziona. Grazie mille. Ho aggiunto informazioni sull'elaborazione batch di immagini con ImageMagick quando il findcomando combinato era mancante nella tua risposta.
Rafal,

9
Ero solito mogrify -trim *.jpgritagliare tutte le immagini nella cartella corrente.
Buttle Butkus,

1
Questo è fantastico Mi ha fatto risparmiare un sacco di tempo. TX :)
antmw1361,

@ButtleButkus Ho modificato la risposta per includere tali informazioni. Per qualche motivo mi sono dimenticato prima di questa opzione.
Rafal,

1
c'è un modo per tagliare un'immagine png lungo la sua altezza, mantenendo la larghezza fissa?
Das
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.