Pagina 1 di 1
Ruotare immagini
Inviato: mer 26 giu 2013, 1:05
da sunreal
Ciao, mi chiedevo come fosse possibile in ambiente linux, ruotare automaticamente tutte le foto di una directory che ne avessero disogno. Mi spiego ho un modulo sul mio sito che crea delle fotogallery, questo purtroppo non riconosce e ruota automaticamente le foto ma me le mostra di traverso. Sotto win ho un programmino (non ricordo il nome) che analizza tutte le foto di una directory e ruota "definitivamente" tutte quello che lo necessitano (non sbaglia un colpo). Ho fatto qualche prova ma al massimo sono riuscito a ruotarle tutte, quindi dovrei prima cercare tutte le foto "storte" metterle in una directory e poi ruotarle, parlo di centinaia di foto...... Cosa c'è che potrebbe fare al mio caso? Grazie
Re: Ruotare immagini
Inviato: mer 26 giu 2013, 1:18
da Blallo
Re: Ruotare immagini
Inviato: mer 26 giu 2013, 11:33
da puzuma
sunreal ha scritto:Ciao, mi chiedevo come fosse possibile in ambiente linux, ruotare automaticamente tutte le foto di una directory che ne avessero bisogno.
In ambiente KDE sia Gwenview (il viewer di default) che digikam ruotano automaticamente le immagini. Mi par di ricordare che Gwenview si limita a mostrarle correttamente a schermo mentre digikam ha l'opzione per scrivere su disco la modifica. Ovviamente il dato sull'orientamento dell'immagine deve essere presente nell'header EXIF dell'immagine, ma penso che non esista macchina digitale che non lo faccia.
Re: Ruotare immagini
Inviato: mer 26 giu 2013, 11:56
da sunreal
Jpegtran mi sa che ruota tutte quelle che sono nella directory..... no buono. Provero con digikam
Re: Ruotare immagini
Inviato: mer 26 giu 2013, 12:05
da puzuma
sunreal ha scritto:Jpegtran mi sa che ruota tutte quelle che sono nella directory..... no buono. Provero con digikam
incuriosito se esistesse qualcosa da linea di comando ho trovato questo:
http://www.sentex.net/~mwandel/jhead/
che ha la comoda opzione autorot, internamente poi utilizza jpegtran per fare la modifica vera e propria.
Poi a quanto pare si può fare con il solito ImageMagick solo che bisogna tirare fuori la giusta serie di opzioni.
Re: Ruotare immagini
Inviato: mer 26 giu 2013, 14:03
da sunreal
Ciao, con digikam ho fatto (puramente a caso) questa serie di passaggi
tutte queste opzioni sono nel menu immagine
Prima ho cliccato su --->Auto rotazione/ribaltamento usando le informazioni exif
ho aspettato che finisse poi in -->regola l'etichetta di orientamento exif ho impostato su---> normale
in fine ho cliccato -->scrivi i dati aggiuntivi nelle immagini selezionate
dopodichè ho caricato le immagini sul sito e ta-taaan!!! funziona!
vi chiedevo se qualche passaggio può essere evitato o modificato. Grazie.
Re: Ruotare immagini
Inviato: gio 27 giu 2013, 20:53
da 414N
Puoi anche usare imagemagick (nello specifico, il programma convert della suite):
dove ORIGINAL_IMAGE e OUTPUT_IMAGE vanno opportunamente sostituiti con, rispettivamente, il nome del file dell'immagine originale e il nome del file dell'immagine di output.
Con un semplice ciclo puoi iterare su tutte le immagini che vuoi poi.
Re: Ruotare immagini
Inviato: mar 27 ago 2013, 22:03
da boh
Avendo lo stesso problema, sfrutto il topic
La mia macchina fotografica (Casio Exilim EX-H15) a quanto dicono le specifiche dovrebbe essere dotata di accelerometro.
Da ciò mi aspetto che le foto in orizzontale siano differenziate da quelle in verticale attraverso il tag Exif
Orientation. In tutte le foto il tag in questione è settato come "top left".
In questo modo, jhead non ruota nulla in automatico. Mi sfugge qualcosa? O la mia fotocamera è proprio "fallata" da questo punto di vista?
Non arrivando da nessuna parte, ho provato ad utilizzare
jpegtran isolando le foto effettivamente verticali (by hand per intenderci).
Con un mini script pensavo di risolvere e invece ottengo un bellissimo effetto matrix (apparentemente infinito) e nessuna modifica alle immagini.
Lo script è il seguente:
Codice: Seleziona tutto
#!/bin/sh
for file in *.JPG
do
jpegtran -rotate 270 "$file"
done
Jpegtran non funziona neanche se lanciato su una foto singola (solito effetto matrix); consigli?
Re: Ruotare immagini
Inviato: mer 28 ago 2013, 9:11
da hashbang
jpegtran man page ha scritto:Examples
This example converts a baseline JPEG file to progressive form:
jpegtran -progressive
foo.jpg > fooprog.jpg
This example rotates an image 90 degrees clockwise, discarding any unrotatable edge pixels:
jpegtran -rot 90 -trim
foo.jpg > foo90.jpg
In sostanza, al tuo script manca la reindirizzazione.
Codice: Seleziona tutto
#!/bin/sh
for file in `/bin/ls *.JPG`
do
jpegtran -rotate 270 $file > $(echo $file | cut -f1 -d'.')_ruotato.jpg
done
Re: Ruotare immagini
Inviato: mer 28 ago 2013, 21:06
da boh
Grazie, così jpegtran funziona