Repository 32bit  Forum
Repository 64bit  Wiki

Ruotare immagini

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Ruotare immagini

Messaggioda sunreal » mer giu 26, 2013 0:05

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
sunreal
Master
Master
 
Messaggi: 1564
Iscritto il: sab apr 09, 2005 23:00
Località: P.P.P.

Re: Ruotare immagini

Messaggioda Blallo » mer giu 26, 2013 0:18

Io sono il detective Arsenio Magret, e porto sempre la camicia TATUATA!
Avatar utente
Blallo
Packager
Packager
 
Messaggi: 3243
Iscritto il: ven ott 12, 2007 10:37
Località: Torino / Torremaggiore (FG)
Nome Cognome: Savino Liguori
Slackware: 14.1 / 12.2
Kernel: 3.12.2-ck
Desktop: Openbox

Re: Ruotare immagini

Messaggioda puzuma » mer giu 26, 2013 10:33

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.
The quiet ones are the ones who change the world. The loud ones only take the credit.
Avatar utente
puzuma
Linux 2.4
Linux 2.4
 
Messaggi: 481
Iscritto il: mar lug 04, 2006 16:14
Località: Udine
Nome Cognome: Stefano Salvador
Slackware: current
Kernel: 2.6.32.2
Desktop: KDE 4.4.0

Re: Ruotare immagini

Messaggioda sunreal » mer giu 26, 2013 10:56

Jpegtran mi sa che ruota tutte quelle che sono nella directory..... no buono. Provero con digikam
sunreal
Master
Master
 
Messaggi: 1564
Iscritto il: sab apr 09, 2005 23:00
Località: P.P.P.

Re: Ruotare immagini

Messaggioda puzuma » mer giu 26, 2013 11:05

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.
The quiet ones are the ones who change the world. The loud ones only take the credit.
Avatar utente
puzuma
Linux 2.4
Linux 2.4
 
Messaggi: 481
Iscritto il: mar lug 04, 2006 16:14
Località: Udine
Nome Cognome: Stefano Salvador
Slackware: current
Kernel: 2.6.32.2
Desktop: KDE 4.4.0

Re: Ruotare immagini

Messaggioda sunreal » mer giu 26, 2013 13:03

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.
sunreal
Master
Master
 
Messaggi: 1564
Iscritto il: sab apr 09, 2005 23:00
Località: P.P.P.

Re: Ruotare immagini

Messaggioda 414N » gio giu 27, 2013 19:53

Puoi anche usare imagemagick (nello specifico, il programma convert della suite):
Codice: Seleziona tutto
convert ORIGINAL_IMAGE -auto-orient OUTPUT_IMAGE

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.
Avatar utente
414N
Iper Master
Iper Master
 
Messaggi: 2882
Iscritto il: mer feb 13, 2008 16:19
Località: Bulagna
Slackware: 14.0 (x64)
Kernel: 3.2.29
Desktop: LXDE

Re: Ruotare immagini

Messaggioda boh » mar ago 27, 2013 21:03

Avendo lo stesso problema, sfrutto il topic :D

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?
"Be yourself. Everyone else is already taken." ~ Oscar Wilde
Avatar utente
boh
Linux 2.6
Linux 2.6
 
Messaggi: 964
Iscritto il: gio set 15, 2005 23:00
Località: Milano
Slackware: 14.1 (x64)
Kernel: 3.14.1
Desktop: KDE 4.13.3

Re: Ruotare immagini

Messaggioda hashbang » mer ago 28, 2013 8:11

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
Adoro il pragmatismo della lingua giapponese, è l'unica in cui per dire ad una ragazza che la ami le dici "suki". (cit.)
Avatar utente
hashbang
Packager
Packager
 
Messaggi: 1840
Iscritto il: ven giu 04, 2010 9:27
Località: Lecce
Nome Cognome: Luca De Pandis
Distribuzione: Windows 8.1 Pro

Re: Ruotare immagini

Messaggioda boh » mer ago 28, 2013 20:06

Grazie, così jpegtran funziona :D
"Be yourself. Everyone else is already taken." ~ Oscar Wilde
Avatar utente
boh
Linux 2.6
Linux 2.6
 
Messaggi: 964
Iscritto il: gio set 15, 2005 23:00
Località: Milano
Slackware: 14.1 (x64)
Kernel: 3.14.1
Desktop: KDE 4.13.3


Torna a Gnu/Linux in genere

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite