Come posso convertire in batch migliaia di NEF in JPEG?


16

Ho accidentalmente impostato la mia fotocamera (una Nikon D70) per scattare solo in NEF e non NEF + JPEG.

Ovviamente, questo sarà un grande dolore quando voglio affrontarli tutti. Non invidio dover aspettare alcuni secondi alla volta per il rendering di una singola immagine.

È possibile convertire in batch l'intero set (migliaia di immagini) in JPEG?

Sto eseguendo Windows 7 e Xubuntu 12.04.


1
Probabilmente hai una copia di View NX2 (che puoi scaricare dal sito Nikon) con la tua fotocamera - che convertirà in batch e lo farà in modo simile alla conversione della fotocamera
BJ292

Sul mio mac, ViewNX2 si arresta in modo casuale durante la conversione batch di NEF in JPG. Peggio ancora, non è possibile riavviare da dove si è bloccato l'ultima volta. Inoltre, lo sviluppo di ViewNX2 è stato interrotto e Nikon ha sviluppato un nuovo strumento Capture NX-D: non l'ho ancora usato ma sarei cauto usarlo per conversioni batch di grandi dimensioni.
Regmi,

Risposte:


9

Un altro ottimo strumento gratuito è IrfanView che, se combinato con plug-in, può convertire in batch da quasi tutti i formati in JPG.

D: Posso usare IrfanView su Linux?

A: Sì. Non esiste una versione nativa Linux di IrfanView. Tuttavia, è possibile utilizzare IrfanView in combinazione con programmi Linux come WINE, emulatori Windows Linux e macchine virtuali basate su Linux. Prendi la versione ZIP di IrfanView e decomprimila o copia la cartella Windows IrfanView esistente su Linux. Questo è più semplice perché il programma di installazione potrebbe richiedere ulteriori DLL di Windows per l'esecuzione.

Se vuoi un software che sia più indipendente dal SO, ti consiglierei UFRaw . Usalo da solo o in combinazione con Gimp


Penso che questa sia una soluzione migliore della mia, IrfanView può fare molto di più di queste conversioni.
galuano1,

2
Bene, tocca a OP giudicare :)
Darius

28

Una soluzione, su Ubuntu, sarebbe usare dcrawper convertire NEF in PBM e pnmtopngconvertire PBM in png. Quindi, apri un terminale ed esegui questi comandi:

sudo apt-get install netpbm dcraw

Non ho immagini .NEF per testarlo, ma secondo questa pagina puoi fare:

Converti tutte le immagini NEF in PNG:

dcraw -c -w input.NEF | pnmtopng > output.png

Per convertire un'intera directory:

for filename in *.NEF ; do dcraw -c -w "$filename" | pnmtopng > "$filename.png" ; done

Probabilmente lo strumento migliore in circolazione per tutte le esigenze di elaborazione delle immagini in batch, tuttavia, è ImageMagick . È gratuito, open source, multipiattaforma e può fare praticamente qualsiasi cosa tu possa pensare di includere ridimensionamento, ritaglio, gestione della trasparenza, montaggio e conversione tra la maggior parte dei formati di immagine sotto il sole. Sarebbe stata la mia prima scelta, ma ho trovato alcuni post (più vecchi) che affermavano che non funzionava con NEF. Tuttavia, il loro sito web dice che lo fa , quindi dovresti provarlo e, in ogni caso, vale davvero la pena imparare. Installalo su Ubuntu con:

sudo apt-get install imagemagick

Per convertire un singolo .NEF:

convert foo.NEF foo.jpg

Per convertire tutti i file .NEF nella directory corrente ( sovrascriveranno gli originali ):

mogrify -format jpg *.NEF

Per fare lo stesso ma mantenendo i file originali, esegui convertin un ciclo:

for img in *.NEF; do convert "$img" "$img.jpg"; done

4
Potrebbe essere necessario installare ufraw-batchprima. (Ho dovuto sudo apt-get install ufraw-batchfare un lavoro mogrifico)
Scontro il

4
Oh, e mogrify -format jpg *.NEFnon sovrascrive gli originali
Scontro il

Questo è fantastico! Se voglio eseguire "mogrify -format jpg * .NEF" anche per i NEF nelle sottodirectory, come sarebbe lo script bash? Grazie.
Regmi,

2
@Regmi provare find . -name "*.NEF" -exec mogrify -format jpg {} +.
terdon,

Grazie, questo è esattamente quello che stavo cercando, non volevo installare WINE oltre ad alcuni programmi Windows! Volevo solo eseguirlo come un singolo comando in modo linux. Grazie ancora!
xamox,

10

Se finisci per usarlo ImageMagick, allora ti consiglio di usare xargsse hai effettivamente migliaia di immagini da convertire piuttosto che usare un forloop. In questo modo, puoi facilmente aumentare il parallelismo:

# Runs these conversions serially
ls *.NEF | sed 's#.NEF##' | xargs -I^ convert ^.NEF ^.jpg

# Runs these conversions with 8 different processes
ls *.NEF | sed 's#.NEF##' | xargs -P8 -I^ convert ^.NEF ^.jpg

3

Usando GNU Parallel:

parallel convert {} {.}.jpg ::: *NEF

Gestisce correttamente i nomi dei file contenenti ', "e spazio.




0

so che questa è una vecchia domanda ma recentemente Nikon ha rilasciato una versione gratuita di

Nikon Capture NX-D

Imho il modo migliore per andare

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.