Soy un novato con una 350D, y además usuario linux. Estoy modificando un script que saque de este foro para convertir los raw en jpeg y guardar ambos.
Aun me falta automatizar la captura de las fotos directamente desde la camara.
Espero que lo probeis y ya me contareis.
Código:
#!/bin/bash
#
# Automated RAW workflow using dcraw, ImageMagick and ExifTool
# tested with ufraw 0.9.1, ImageMagick 6.2.8 and ExifTool (Nov. 12/03)
#
# Schutz vor unbeabsichtigtem Zweitlauf abfragen
ouputdir='.'
dirJPG=$ouputdir/jpg
dirRAW=$ouputdir/raw
valorSize="2"
valorWhite="camera"
valorCurve="linear" # "manual"
valorBaseCurve="linear" # "manual"
valorGamma="0.45"
valorLinearity="0.10"
valorSaturation="1.2"
valorExposure="auto"
valorBlackPoint="auto"
valorInterpolation="ahd"
valorOutType="ppm16"
valorCreateId="also"
valorNoise="-gaussian 1x1" # "-noise 0.5"
valorSharp="-unsharp 2x1.4+1+0.02" # "-unsharp 3x1.5+100+0.0"
valorQuality="-quality 97"
#valorExtNoise="nr."
#valorExtSharp="sharp."
if [ -e workflow_done ]; then
echo "my_workflow has already been run. Nothing to be done."
echo "Press <RETURN> to exit."
read some_key && exit 1
fi
start_time=`date +%R`
# Renombramos la extension CR2 a minusculas
for CR2file in `ls *.CR2`; do
#echo "processing $count_files"
file=`basename $CR2file .CR2`
mv $file.CR2 $file.cr2
#let count_files=( $count_files + 1)
done
# Creando directorios destino
if !(test -e $dirJPG) then
mkdir $dirJPG
fi
if !(test -e $dirRAW) then
mkdir $dirRAW
fi
all_files="`ls *.cr2 | wc -w`"
echo
echo "Inicio de proceso de conversión RAW"
echo
echo "Se procesaran $all_files fotos."
echo
count_files=1
i=0;
for crwfile in *.cr2; do
echo "----------------------------------------------"
echo "procesando $crwfile - $count_files/$all_files"
echo "----------------------------------------------"
echo
## obtenemos la fecha de al foto
CREATEDATE=$(exiftool -s -CreateDate ${crwfile})
echo "Fecha y hora de la foto" ${CREATEDATE#CreateDate*}
echo
CREATEDATE2=$(echo $CREATEDATE | tr -d [':'])
CREATEDATA3=$(echo ${CREATEDATE2:10:17})
FileName=$(echo "$CREATEDATA3" | tr -s [' '] ['_'])
file=$FileName.jpg
if (test -f $file) then
i=`expr $i + 1`
FileName=$FileName'_'$i
else
i=0;
fi
mv $crwfile $FileName.cr2
crwfile=$FileName.cr2
ppmfile=$FileName.ppm
ufrfile=$FileName.ufraw
jpgfile=$FileName.jpg
#fileRAW=$FileName.cr2
echo "Remonbrando fichero a " $FileName
echo
echo "Convirtiendo RAW"
echo
# procesar el raw
ufraw-batch \
--wb=${valorWhite} \
--base-curve=${valorBaseCurve} \
--curve=${valorCurve} \
--clip \
--gamma=${valorGamma} \
--linearity=${valorLinearity} \
--saturation=${valorSaturation} \
--exposure=${valorExposure} \
--black-point=${valorBlackPoint} \
--interpolation=${valorInterpolation} \
--out-type=${valorOutType} \
--create-id=${valorCreateId} \
$crwfile &> /dev/null
echo "Procesando PPM"
echo
# obtener el jpg
convert $ppmfile \
${valorNoise} \
${valorSharp} \
${valorQuality} \
$jpgfile
# Löschen der PPM-Dateien.
rm -f $ppmfile
echo "Corrigiendo datos EXIF"
echo
# Hay que cambiar la orientación en los datos exif del jpg, ya que ufraw-batch lo gira según exif
exiftool -canon -overwrite_original -TagsFromFile "$crwfile" -Orientation="Horizontal" "$jpgfile" &> /dev/null
let count_files=( $count_files + 1)
# sleep 2
echo "Moviendo ficheros"
echo
if !(test -e $dirJPG/$jpgfile) then
mv -f $jpgfile jpg/
fi
if !(test -e $dirRAW/$crwfile) then
mv -f $crwfile raw/
fi
if (test $valorCreateId="also") then
if !(test -e $dirRAW/$ufrfile) then
mv -f $ufrfile raw/
fi
fi
echo "... hecho ..."
echo
done
echo
touch workflow_done
echo "Proceso finalizado ..."
echo
echo "Duracion desde $start_time hasta `date +%R`"
echo "--------------------------------------------"
# Ende des Skripts.
Saludos.
Marcadores