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.