Archive for diciembre, 2010

dic 20 2010

Generación de videos Time-Lapse en HDR desde Linux

Published by under Fotografia,linux

He realizado un script que automatiza la generación de videos HDR desde Linux a partir de una serie de fotografías en formato RAW.
El script está preparado para recortar las imágenes y aplicar el efecto HDR mantiuk a acada una de ellas.

La última versión se puede descargar aquí: HDR Time-Lapse Generation Script


# Raw files to process
RAW_FILES=input_test/*.CR2

# Output directory
OUT=./output

# Position and size of the rectangle to cut in the original photographs
# The proportion should be fit with the VIDEO_WIDTH and VIDEO_HEIGHT parameters
LEFT=838
TOP=1374
WIDTH=2255
HEIGHT=1259

# Size of the output video. Recommended format for youtube HD 1290x720
VIDEO_WIDTH=1290
VIDEO_HEIGHT=720

# Frames per second
VIDEO_FPS=16

rm -Rf $OUT
mkdir $OUT $OUT/img

files=`ls $RAW_FILES -1`
totalFiles=`ls $RAW_FILES -1 | wc -l`
counter=0
for fRaw in $files ; do
	echo "Processing image... ${counter}/${totalFiles}"

	strCounter=`printf %04d $counter`
	fMantiuk=${OUT}/img/mantiuk_${strCounter}.tiff
	fOrig=${OUT}/img/orig_${strCounter}.tiff
	fFinal=${OUT}/img/final_${strCounter}.tiff

	# HDR Mantiuk generation
	dcraw2hdrgen $fRaw > hdrgen.txt
	pfsinhdrgen hdrgen.txt | pfsout pfs.hdr
	pfsin pfs.hdr \
		| pfscut --left ${LEFT} --top ${TOP} --width ${WIDTH} --height ${HEIGHT} \
		| pfssize -x ${VIDEO_WIDTH} -y ${VIDEO_HEIGHT} \
		| pfstmo_mantiuk06 -e 1 -s 1 \
		| pfsgamma --gamma 1.8 \
		| pfsoutimgmagick ${fMantiuk} 2>/dev/null

	# Original image generation without effects
	ufraw-batch $fRaw \
		--wb=camera \
		--crop-left=${LEFT} \
		--crop-right=$((LEFT+WIDTH)) \
		--crop-top=${TOP} \
		--crop-bottom=$((TOP+HEIGHT)) \
		--overwrite \
		--size=${VIDEO_WIDTH} \
		--output=${fOrig} \
		--out-type=tiff \
		--exposure=0 2>/dev/null

	# Final image generation
	composite -dissolve 80% ${fMantiuk} ${fOrig} ${fFinal} 2>/dev/null

	# Optimization (increase of color saturation)
	convert -modulate 100,110,100 ${fFinal} ${fFinal}

	counter=$(( $counter + 1 ))
done

# Video encoding
mencoder -nosound -ovc x264 -x264encopts pass=1:bitrate=3000 -o ${OUT}/output.avi -mf type=tif:fps=${VIDEO_FPS} "mf://${OUT}/img/final_*.tiff"

Para configurar los parámetros de recorte se puede utilizar por ejemplo el programa Gimp. Para ello, abrimos una de las imágenes RAW originales(necesitaremos instalar el plugin ufraw para esto). Seleccionamos la herramienta de selección de rectángulos y configuramos el tamaño del rectángulo. En este caso, para subir videos a youtube en alta definición pondríamos 1290×70. Una vez tenemos el rectángulo lo ampliamos o reducimos al tamaño que queramos manteniendo siempre la proporción y nos apuntamos la posición y tamaño del recuadro final para configurar el script.



Para ejecutar el script es necesario tener instalados los programas pfstools, pfsmo, pfscalibration, imagemagick y mencoder. Si utilizamos ubuntu, los podemos instalar todos mediante el gestor de paquetes excepto el pfscalibration que hay que compilarlo.

Y el resultado final. Está realizado a partir de 88 fotografias tomadas cada 10 segundos. Alrededor de 15 minutos de tiempo reducidos a 5 segundos de video.



No responses yet

dic 13 2010

Problema con Wireless al instalar Ubuntu en Sony Vaio VPC-EB2S1E

Published by under linux

He estado instalando ubuntu 10.10(64bits) en el portatil y me ha dado un problema bastante extraño. Con la instalación por defecto el wireless no funciona, o mejor dicho, funciona pero de forma extremadamente lenta, tanto, que se hace imposible cargar cualquier página de internet.

Parece que no es un problema de hardware ya que el wireless funciona correctamente en Windows 7 y lo más extraño es que también funciona en Ubuntu cuando el portatil está usando la batería pero no cuando está conectado a la corriente eléctrica.

La tarjeta wireless que lleva es una Atheros AR9285. He estado comprobando las diferencias en la configuración que realiza Ubuntu al levantar el wireless con y sin batería y el problema parece estar relacionado con el parámetro “Power Management” que está a “off” al utilizar la corriente eléctrica. No he mirado mucho más.

Para solucionar el problema hay que forzar que el parámetro esté siempre a “on” mediante el comando :
iwconfig wlan0 power on

El script de arranque en el que podemos añadir el comando es este: /etc/network/if-up.d/upstart

No responses yet