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.
sunreal
Master
Master
Messaggi: 1599
Iscritto il: dom apr 10, 2005 0:00
Slackware: 14.1
Desktop: kde
Località: P.P.P.

Ruotare immagini

Messaggioda sunreal » mer giu 26, 2013 1: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

Avatar utente
Blallo
Packager
Packager
Messaggi: 3270
Iscritto il: ven ott 12, 2007 11:37
Nome Cognome: Savino Liguori
Slackware: 14.2 / 12.2
Kernel: 4.4.14-smp
Desktop: DWM
Località: Torino / Torremaggiore (FG)
Contatta:

Re: Ruotare immagini

Messaggioda Blallo » mer giu 26, 2013 1:18

My DWM configuration: https://github.com/8lall0/dwm

Feel free to use.

Avatar utente
puzuma
Linux 2.4
Linux 2.4
Messaggi: 482
Iscritto il: mar lug 04, 2006 17:14
Nome Cognome: Stefano Salvador
Slackware: current
Kernel: 2.6.32.2
Desktop: KDE 4.4.0
Località: Udine
Contatta:

Re: Ruotare immagini

Messaggioda puzuma » mer giu 26, 2013 11: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.

sunreal
Master
Master
Messaggi: 1599
Iscritto il: dom apr 10, 2005 0:00
Slackware: 14.1
Desktop: kde
Località: P.P.P.

Re: Ruotare immagini

Messaggioda sunreal » mer giu 26, 2013 11:56

Jpegtran mi sa che ruota tutte quelle che sono nella directory..... no buono. Provero con digikam

Avatar utente
puzuma
Linux 2.4
Linux 2.4
Messaggi: 482
Iscritto il: mar lug 04, 2006 17:14
Nome Cognome: Stefano Salvador
Slackware: current
Kernel: 2.6.32.2
Desktop: KDE 4.4.0
Località: Udine
Contatta:

Re: Ruotare immagini

Messaggioda puzuma » mer giu 26, 2013 12: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.

sunreal
Master
Master
Messaggi: 1599
Iscritto il: dom apr 10, 2005 0:00
Slackware: 14.1
Desktop: kde
Località: P.P.P.

Re: Ruotare immagini

Messaggioda sunreal » mer giu 26, 2013 14: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.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2893
Iscritto il: mer feb 13, 2008 16:19
Slackware: current
Kernel: 3.14.23
Desktop: KDE4
Località: Bulagna
Contatta:

Re: Ruotare immagini

Messaggioda 414N » gio giu 27, 2013 20: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
boh
Linux 3.x
Linux 3.x
Messaggi: 1015
Iscritto il: ven set 16, 2005 0:00
Slackware: 14.1 (x64)
Kernel: 3.14.1
Desktop: KDE 4.13.3
Località: Milano
Contatta:

Re: Ruotare immagini

Messaggioda boh » mar ago 27, 2013 22: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
hashbang
Packager
Packager
Messaggi: 1949
Iscritto il: ven giu 04, 2010 10:27
Nome Cognome: Luca De Pandis
Slackware: Slackware64-current
Kernel: 4.4.12
Desktop: dwm
Distribuzione: Windows 10 Pro
Località: Lecce
Contatta:

Re: Ruotare immagini

Messaggioda hashbang » mer ago 28, 2013 9: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
There's a certain kind of programmer who'll look at any problem and say, 'I know, I will use XML.' Now he has two problems.

Stack is the new term for "I have no idea what I'm actually using". [Erich Schubert]

Avatar utente
boh
Linux 3.x
Linux 3.x
Messaggi: 1015
Iscritto il: ven set 16, 2005 0:00
Slackware: 14.1 (x64)
Kernel: 3.14.1
Desktop: KDE 4.13.3
Località: Milano
Contatta:

Re: Ruotare immagini

Messaggioda boh » mer ago 28, 2013 21:06

Grazie, così jpegtran funziona :D
"Be yourself. Everyone else is already taken." ~ Oscar Wilde


Torna a “Gnu/Linux in genere”

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite