Pagina 1 di 2
shell tricks!?
Inviato: mar 23 nov 2010, 9:54
da bit123
Salve a tutti,
ho un piccolo problemino con un comando shell. Per estrarre le anteprime da una immagine raw in una determinata directory uso il seguente comando:
dcraw -c -e img.cr2 > directory/img.thumb.jpg
siccome alcuni formati raw contengono una preview in ppm, per evitare di salvare il file con l'estenzione sbagliata come potrei fare?
Vorrei evitare di redirigere l'output a convert in ogni caso.
Grazie!
Re: shell tricks!?
Inviato: mar 23 nov 2010, 14:43
da anycolouryoulike
Non utilizzare l'opzione -c.
Poi se lo vuoi jpeg metti il nome della foto in una variabile, e dopo l'estrazione fai così:
Codice: Seleziona tutto
EXT=$(ls ${variabile%.cr2}.thumb.* | sed -n 's/.*\.\([^.]\+\)/\1/p')
[ "$EXT" != "jpg" ] && convert $variabile.thumb.$EXT $variabile.thumb.jpg
Re: shell tricks!?
Inviato: mar 23 nov 2010, 16:17
da bit123
Grazie, ma bisognerebbe trovare una soluzione senza ricorrere ad ulteriori programmi esterni.
Re: shell tricks!?
Inviato: mar 23 nov 2010, 16:46
da 414N
Non potresti usare l'output del comando file per discriminare il formato dell'immagine dopo averla salvata ed, eventualmente, rinominarla in modo che l'estensione sia quella giusta?
Re: shell tricks!?
Inviato: mar 23 nov 2010, 17:11
da bit123
Per questo potrei usare identify che si trova già in imagemagick.
Se io chiamo dcraw -e, il file viene estratto nella directory corrente con la corretta estensione, ma io devo estrarlo in un'altra directory quindi sono costretto a dare un nome al file estratto, questo è il problema.
Re: shell tricks!?
Inviato: mar 23 nov 2010, 17:50
da 414N
bit123 ha scritto:Per questo potrei usare identify che si trova già in imagemagick.
Se io chiamo dcraw -e, il file viene estratto nella directory corrente con la corretta estensione, ma io devo estrarlo in un'altra directory quindi sono costretto a dare un nome al file estratto, questo è il problema.
Non avendo dcraw sotto mano, devo chiedertelo: il file che estrae di suo (senza l'opzione -c) ha lo stesso nome del file raw (ovviamente con suffisso diverso)?
Se sì, non vedo dove sia il problema: lanci un ciclo che estrae tutte le thumbnail dai raw nella directory corrente (quindi insieme alle raw), poi sposti tutti i *.jpg e *.ppm dove vuoi.
Re: shell tricks!?
Inviato: mar 23 nov 2010, 18:07
da bit123
Il comando viene eseguito da GTKRawGallery (viewer) e quindi vanno estratti in una directory temporanea. Quello che dici tu non è fattibile e poi rallenterebbe troppo
il processo di caricamento delle thumbnails.
Re: shell tricks!?
Inviato: mar 23 nov 2010, 18:14
da bit123
Attualmente io redirigo l'output di dcraw a convert solo per i file con estensione dng e x3f, ma non tutti questi file hanno una preview in ppm e non c'è modo di saperlo prima, forse con exiftool, ma ripeto sono soluzioni che rallentano parecchio. Comunque grazie lo stesso!
Re: shell tricks!?
Inviato: mar 23 nov 2010, 18:29
da anycolouryoulike
Se il problema è sed se ne può fare anche a meno.
Codice: Seleziona tutto
EXT=$(ls ${variabile%.cr2}.thumb.*)
EXT=${EXT##*.}
[ "$EXT" != "jpg" ] && convert $variabile.thumb.$EXT $variabile.thumb.jpg
Re: shell tricks!?
Inviato: mar 23 nov 2010, 18:33
da anycolouryoulike
bit123 ha scritto:Per questo potrei usare identify che si trova già in imagemagick.
Se io chiamo dcraw -e, il file viene estratto nella directory corrente con la corretta estensione, ma io devo estrarlo in un'altra directory quindi sono costretto a dare un nome al file estratto, questo è il problema.
E non puoi dare un
cd directory; dcraw -e?
Re: shell tricks!?
Inviato: mar 23 nov 2010, 18:40
da bit123
Aspetta, mi hai fatto venire un'idea, provo a cambiare la cwd e poi vi faccio sapere!
Re: shell tricks!?
Inviato: mar 23 nov 2010, 21:32
da bit123
Niente, era un miraggio

Re: shell tricks!?
Inviato: mar 23 nov 2010, 23:39
da targzeta
Perdonami se dico una scemenza. In linea con quanto ti è stato già suggerito, se vai nella directory di destinazione ed esegui da lì il comando dcraw le immagini non vengono estratte nella directory corretta?
Emanuele
Re: shell tricks!?
Inviato: mer 24 nov 2010, 12:01
da 414N
bit123 ha scritto:Il comando viene eseguito da GTKRawGallery (viewer) e quindi vanno estratti in una directory temporanea. Quello che dici tu non è fattibile e poi rallenterebbe troppo
il processo di caricamento delle thumbnails.
Ma viene eseguito da GTKRawGallery in automatico file per file o scegli tu a quali immagini applicare lo script?
L'estrazione di anteprime non dovrebbe già farla automaticamente GTKRawGallery di suo?
Re: shell tricks!?
Inviato: mer 24 nov 2010, 12:56
da bit123
Purtroppo dcraw estrae solo in destdir. L'unica soluzione sarebbe chiedere all'autore di aggiungere una opzione al programma.