[Jde-dev] camaras logitech

David Lobato dav.lobato en gmail.com
Vie Oct 16 16:13:15 CEST 2009


Hola a todos,

Ayer dedique la tarde a investigar mas sobre el asunto, os comento.
Lo primero, confirmé que la cámara da una cantidad variable de fps en modo
auto-exposure. El programa que usaba antes tenia un elemento entre
cámara/aplicación que rellenaba frames, por lo que yo veía siempre los
frames configurados. Al eliminar este elemento, mi contador de fps sube o
baja en función de la cantidad de luz. Adjunto el programa en cuestión,
example3.tgz, que depende de gstreamer e ICE. Una vez compilado se ejecuta
así:

Servidor: varcolorserver --Ice.Config=varcolorserver.cfg
Cliente: varcolorviewgtkmm --Ice.Config=varcolorviewgtkmm.cfg

En el fichero de cfg del servidor se puede configurar tanto el tamaño como
el numero de fps.

El cliente no es mas que un visualizador con un contador de frames. Si
modificamos la cantidad de luz podemos ver como varia.

Además, he compilado y empaquetado para lenny la librería a la que hice
referencia en otro mail (libwebcam) que es software GPL hecho por gente de
logitech. Con esta librería podemos acceder a los parámetros de la cámara.
Adjunto paquete, fuentes y demas.

Una vez instalado tenemos un comando "fantabuloso" llamado 'uvcdynctrl' que
nos permite ver y tocar cosas de la cámara. Da un aviso cada vez que se
ejecuta, aun no me he enterado de que es. Por ejemplo podemos ver los cosas
que tiene la cámara con (añadiendo -v saca los posibles valores también):
$>uvcdynctrl -c
Listing available controls for device video0:
  Raw bits per pixel
  Disable video processing
  LED1 Frequency
  LED1 Mode
  Focus
  Exposure, Auto Priority
  Exposure (Absolute)
  Exposure, Auto
  Backlight Compensation
  Sharpness
  White Balance Temperature
  Power Line Frequency
  Gain
  White Balance Temperature, Auto
  Saturation
  Contrast
  Brightness

Y podemos ver el valor de alguno con (o fijarlos con -s):
$> uvcdynctrl -g "LED1 Frequency"
100

Para el asunto en cuestión nos interesan "Exposure, Auto" y "Exposure
(Absolute)"
Con el primero podemos poner la cámara en modo manual:
$>uvcdynctrl -s "Exposure, Auto" 0
Y con el segundo subir o bajar el valor de exposición. A mi con valores
entre 250 y 300 y condiciones de luz bajas, me saca los 30fps con una
calidad total.


Yo la verdad que no había notado con la logitech ese comportamiento,
> pero tampoco la he usado mucho. Donde si veo mucho ese comportamiento (y
> por el mismo motivo que comentas) es en la cámara del móvil, en
> situaciones con poca luz el movimiento aparece borroso cuando grabas
> vídeo o simplemente estás en el modo de pre-visualización.
>
>
En los laboratorios suele haber bastante luz, puede que no lo hayáis visto.
En cuanto al móvil, supongo que es el mismo mecanismo.


> Quizá pueda configurarse con una exposición óptima para que de 20 o 15
> fps y haga una buena exposición para obtener la luz suficiente y así
> evitar el efecto borroso.
>
>
Sobre los comandos que comentas, ¿hay alguna manera de averiguar cuál
> sería la exposición adecuada y fijar ese valor para obtener un vídeo
> nítido sin efecto borroso? Estoy pensando en la situación de tener una
> cámara en un sitio 24horas, y que sea posible en cada momento (por
> ejemplo cada 30min) averiguar la exposición adecuada y fijarla (pasando
> así del auto-exposure).
>
>
Habrá que probar cuando cambia en función de la luz. Probemoslo.



> Por cierto, este hilo interesantísimo deberíamos documentarlo en el wiki
>
>
Me parece bien, por donde empiezo?


Ale un saludete, la próxima ya desde USA.
David.


un saludete!
>
> El jue, 15-10-2009 a las 14:44 +0200, David Lobato escribió:
> > Creo que el asunto no va por ahí. Primero aclarar que hablamos de
> > USB2.0, con una tasa de transferencia de 480Mbps, vamos unos cuantos 1
> > y 0 por segundo ;)
> >
> > Por lo que he podido ver, las logitech tienen activado por defecto el
> > modo "auto-exposure", que en pocas palabras, ajusta automáticamente el
> > tiempo de exposición para la captura de cada frame (al que sepa de
> > fotografia le sonará el termino). Esto implica, que la cámara se
> > ajusta para obtener la misma cantidad de luz en cada exposición, de
> > modo que con condiciones de luminosidad altas, el tiempo de exposición
> > es corto y en condiciones de luminosidad bajas dicho tiempo es mayor.
> >
> > En la pruebas que he hecho, el fps calculado no varia, si configuro la
> > cámara a 25fps, me da 25 fps. Pero si nos fijamos en la visualización,
> > variando la cantidad de luz, se aprecia que el comportamiento del
> > video cambia, apareciando movimiento borroso con poca luz, lo que
> > interpreto como que la velocidad de exposición aumenta (igual que una
> > fot tomada con poca luz muestra el movimiento borroso).
> >
> > Si desactivamos el auto-exposure y fijamos un valor de exposición
> > adecuado a las condiciones de luz que tenemos obtenemos un video mucho
> > mas nitido sin los efectos antes comentados. Yo he conseguido
> > desactivarlo con el comando luvcview, que no es que vaya muy fino,
> > pero para probar vale. Controlar la exposición de la cámara nos da un
> > poco mas de control. Habrá que ver si resulta interesante.
> >
> > Un saludete, espero no haber liado a nadie...
> > David.
>
> --
> Roberto Calvo Palomino          | Libre Software Engineering Lab (GSyC)
> Tel: (+34) 91 488 85 23         | Universidad Rey Juan Carlos
> Tel: (+34) 91 488 81 05         | Edif. Departamental II - Despacho 116
> rocapal en gsyc.es                 | c/Tulipán s/n 28933 Móstoles (Madrid)
> http://libresoft.es/
>
> GPG-KEY: http://gsyc.es/~rocapal/rocapal.gpg<http://gsyc.es/%7Erocapal/rocapal.gpg>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20091016/870185ff/attachment-0001.htm 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : example3.tgz
Tipo       : application/x-gzip
Tamaño     : 7321 bytes
Descripción: no disponible
Url        : http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20091016/870185ff/attachment-0002.bin 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : libwebcam.tgz
Tipo       : application/x-gzip
Tamaño     : 153696 bytes
Descripción: no disponible
Url        : http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20091016/870185ff/attachment-0003.bin 


More information about the Jde-developers mailing list