Come ridimensionare 10k foto con la riga di comando

Per motivi di lavoro devo ridimensionare circa 10.000 foto – formato JPG – del 50% e mi sono chiesto quale fosse il metodo più veloce.

Io uso spesso XnView ( This software is really simple to use and totally free for personal use ) un programma molto utile e facile da usare: per ridimensionare le foto, anche in diverse cartelle e sottocartelle, bastano due clic del mouse, selezionare le cartelle e poi ctrl+u e successivamente configurare il tab Transformations

come si evince dallo screenshot di sopra, occorrono molte ore per elaborare circa 10.000 foto (quasi 7 ore).

L’alternativa naturale al mouse è la riga di comando e quindi ho chiesto al maestro (Andrea Borruso). Andrea mi suggerisce di usare, appunto, la riga di comando e mi consiglia di seguire questo link (avvertendomi che probabilmente il tempo sarebbe stato uguale); installato imagemagick (sudo apt-get install imagemagick) faccio una prova su una cartella con 234 foto utilizzando questa ricetta:

time for file in *.JPG; do convert $file -resize 50% $file; done

tempo impiegato circa 8 minuti; in pratica stesso tempo che impiegherebbe XnView (aveva ragione Andy).

Dopo qualche minuto, mi contatta Andy e mi suggerisce di utilizzare parallel con al seguente sintassi:

parallel convert {} -resize 50% {} ::: *.JPG

riprovo con stessa cartella e stessi file, 234 foto: impiega meno di 4 minuti!!! wow!!!

NOTE FINALI: a parità di programma (imagemagick) l’uso di GNU parallel dimezza il tempo di elaborazione.

Link:

Grazie Andy

Pubblicità

2 pensieri su “Come ridimensionare 10k foto con la riga di comando

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.