Quale software posso usare per il ridimensionamento periodico di immagini in serie?


13

Ho una grande raccolta di immagini in un gruppo di cartelle nidificate.

Vorrei eseguire una sorta di processo (su base regolare) che sincronizzerà tutte le immagini in un altro posto in una nuova dimensione più piccola. (Vorrei limitare sia l'altezza che la larghezza)

Questo mi permetterà di trasportare tutte le mie immagini con me a bassa risoluzione sui miei dispositivi portatili.

Qualche suggerimento per uno strumento che potrei programmare (idealmente vorrei che elaborasse ogni immagine una volta)?


4
a quali sistemi operativi sei interessato?
Rowland Shaw,

@Rowland, io uso sia Windows che Linux ... quindi tutto ciò che non è specifico per Mac dovrebbe funzionare.
Sam Saffron,

Dove sono archiviate le tue foto e dove probabilmente avrai bisogno della conversione? Windows o Linux? Ciò farebbe una leggera differenza. Stai bene con l'eliminazione di tutte le immagini esistenti prima di crearne di nuove? Dovrebbe creare una nuova struttura di cartelle mentre duplica?
jcolebrand,

@drchenstern ... Vorrei evitare una doppia elaborazione di un file
Sam Saffron,

~ È solo per il desiderio di ridurre i tempi di elaborazione? Sto pensando che l'uso di una sorta di sistema basato su Linux funzionerà meglio a lungo termine a causa delle attività di manipolazione delle immagini della riga di comando che sono già state scritte per i sistemi Linux.
jcolebrand,

Risposte:


12

ImageMagick sarebbe un'ovvia possibilità per il ridimensionamento stesso. La pianificazione di una ricerca di nuove immagini e la creazione di una copia in scala di ciascuna non è integrata. La maggior parte dei sistemi operativi ha funzionalità di pianificazione che potrebbero eseguirlo. Come programmatore, una cosa che probabilmente prenderei in considerazione sarebbe l'uso di un makefile per gestire l'esecuzione della conversione solo quando non esisteva un target. La maggior parte delle persone normali considererebbe che un modo davvero strano di fare le cose però ...


Sono stato tentato di scrivere una sceneggiatura ruby ​​per questo ... ma se qualcosa esiste già, preferirei solo usarlo
Sam Saffron,

@Sam Saffron ~ Qualche motivo per una sceneggiatura ruby? Sarà ospitato su un sito Web? Questo è il genere di cose che meglio attraversare cron penso che ...
jcolebrand,

8

Su Windows, Irfanview è un altro visualizzatore di immagini gratuito che ha una buona modalità di ridimensionamento / ricampionamento batch.

Da un POV di qualità, dovresti essere interessato agli algoritmi di ricampionamento utilizzati dallo strumento prescelto. Irfanview fornisce il controllo e la scelta di numerosi algoritmi di ricampionamento di alta qualità, e le versioni successive forniscono anche il controllo sulla nitidezza delle immagini ricampionate.

La nitidezza è importante poiché il ridimensionamento delle immagini per renderle più piccole tende a renderle più morbide.


Per gli usi manuali, Irfanview batch oscilla su Windows e puoi usare gThumb su Linux.
Xeoncross,

5

FastStone è gratuito e semplice e può fare qualcosa in più rispetto al ridimensionamento.

http://www.faststone.org/


+1 per FastStone, un eccellente visualizzatore di immagini e un ridimensionatore di immagini molto completo.
decasteljau,

4

XnView è probabilmente la risposta, purché si usi uno scheduler o lo si esegua manualmente su base regolare. Personalmente, uso il mio scripting che esegue nconvert per fare esattamente questa cosa. Nconvert viene fornito con XnView ed è disponibile anche separatamente.

XnView è estremamente potente per la conversione batch, può persino applicare trasformazioni durante il processo. Soprattutto dopo aver impostato la conversione tra determinate directory, è possibile chiedere di generare un file batch che esegue la stessa conversione. Questo sarà molto utile se si desidera aggiungere questo a un programmatore di attività o cron job.


2

Picasa ti consentirà di ridimensionare in batch le tue foto ed è gratuito . È possibile selezionare un gruppo di immagini da esportare, quindi scegliere le dimensioni e la posizione desiderate. Quindi salverà una copia di tutte le immagini selezionate nella nuova dimensione. La posizione può essere un'altra cartella o persino il Web.

http://picasa.google.com/

Non sono sicuro che offra la pianificazione, ma il sovraccarico nell'esecuzione del processo di cui sopra è molto piccolo - in realtà sono solo pochi clic.

Ha alcune altre fantastiche funzionalità che potresti trovare utili, che vale sicuramente la pena provare.


2

Ho risolto esattamente lo stesso problema (con una copia a bassa risoluzione delle mie immagini per laptop) e ho scritto lo script Python chiamato thumbtree . Fondamentalmente crea una copia della directory con la versione ridotta di tutti i file. Utilizza ImageMagick per eseguire il ridimensionamento e controlla i timestamp per ridimensionare solo i file che sono stati modificati da quando è stata effettuata la copia a bassa risoluzione.


1

Di solito uso ImageMagick o GraphicsMagick (meno funzionalità, ma più veloce, non sempre lo stesso risultato). Il modo Linux per pianificare questa elaborazione è scrivere uno script e inserirlo in crontab. Per ridurre il tempo di esecuzione è possibile selezionare solo le nuove foto con find. Se hai bisogno di aiuto per scrivere un tale script, chiedi. Posso aiutarti.

Come utente Linux utilizzo anche Nautilus Image Converter . Su Ubuntu / Debian è possibile installarlo con il nautilus-image-converterpacchetto. Aggiunge un'opzione di ridimensionamento nel menu contestuale del file manager. Suppongo che usi ImageMagick internamente.

Alcune altre opzioni di Linux sono:

  • Gimp Batch Processor (un plugin per eseguire l'elaborazione di massa in Gimp, ha un'interfaccia utente grafica, parte del gimp-plugin-registrypacchetto su Ubuntu) (vedi anche un mini tutorial )
  • Coda batch in digiKam (uno strumento abbastanza avanzato per l'elaborazione in blocco, con interfaccia grafica, è bello se sei già un utente digiKam)
  • Modalità batch Gimp (estremamente flessibile, ma richiede una certa programmazione in Scheme; adatto per l'elaborazione pianificata)

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.