El día de ayer mi amiga Gabriela me comentó que estaba tratando de transformar archivos .NEF (formato electrónico de archivos RAW de Nikon) a .JPG y que estaba perdiendo calidad en la imagen final, y que además tenía un lote de unas 2000 fotografías que deseaba procesarlas a JPG sin pasar por un proceso manual (ella usa Darktable ó UFRaw para ello). Durante un rato estuve jugando con las herramientas de imagemagick y notaba la alta perdida de calidad, por ejemplo:
Imagen Original .NEF
Imagen JPG procesada con Darktable/UFRaw
Para ello escribí un pequeño y sucio script en bash que:
- Convierte los archivos .NEF a .PNG y luego con imagemagick transforma el PNG a JPG (método sucio que funciona usando netpbm, dcraw y imagemagick).
- Procesa un lote de .NEF que estén ubicados en el directorio donde se corra el script.
#/bin/bash # Instrucciones: # # 1. Para que este script funcione, necesita tener instalado: netpbm, dcraw, imagemagick # # sudo aptitude install netpbm dcraw imagemagick # # 2. Setear permisos de ejecucion al script # chmod +x nef_a_jpg.sh # # Enjoy :D # # Por: Juan Angulo Moreno <apostols@gmail.com> 2014-07-20 echo "Preparando el ambiente..." total_archivos=`ls *.NEF| wc -l` echo "Iniciando conversion... Total de archivos a convertir: $total_archivos" # Que comience la fiesta for ARCHIVOS in *.NEF ; do nombre_base=`basename "$ARCHIVOS" .NEF`; echo "Conviertiendo $nombre_base.NEF a JPG..."; dcraw -c -w $ARCHIVOS | pnmtopng > $nombre_base.png; convert $nombre_base.png $nombre_base.jpg echo "Listo." done |