domingo, 10 de marzo de 2013

Visión Estéreo


Las personas somos seres que vivimos mediante nuestros sentidos y de percibir las cosas que nos rodean. Lo hacemos a través de lo que tocamos, lo que oímos, lo que saboreamos, lo que olemos y sobre todo lo que vemos. El sentido de la vista está catalogado como el sentido más importante, ya que “las imágenes son el mecanismo más eficiente y completo para transmitir información sobre un estímulo determinado”. Las imágenes que recolectan nuestros ojos interpretan el mundo exterior y nos interrelacionan con él de una forma más acertada.
  Nuestros ojos son la puerta de entrada por donde ingresan los estímulos de luz y en el cerebro se realizan los procesos de percepción visual, por los cuales somos capaces de interpretar las formas de los objetos, diferenciar sus colores, sus movimientos y las distancias y ubicación de donde se encuentran.
  Nuestros ojos perciben dichas imágenes, y a los objetos que la componen, en tres distintas dimensiones: alto, ancho y profundo (de donde proviene el nombre 3D). Cada ojo nos proporciona una información distinta, la que cada ojo observa, y a la habilidad de unir estas dos imágenes se la llama visión estéreo que viene del nombre completo visión estereoscópica y más conocido como visión binocular (dos ojos).
  Si se está leyendo este documento desde una versión digital se podrá observar que la imagen almacenada en el siguiente enlace:
  
es el resultado de la superposición de dos imágenes con dos perspectivas diferentes, una imagen con información obtenida del ojo izquierdo y la otra con el ojo derecho, en la figura siguiente se observan ambas imágenes, cada una en su correspondiente lado.




Una definición con enfoque matemático sobre visión estéreo dice: “La diferencia horizontal entre cada perspectiva se llama paralaje y se debe a la distancia que existe entre el ojo izquierdo y el derecho, llamada distancia interocular”, ambas perspectivas combinadas en el cerebro forman una imagen tridimensional, a este fenómeno se lo conoce como esteorepsis.
 Gracias a este fenómeno podemos saber que objetos están cerca y cuales están más lejos. Los animales necesitan esta información de distancia y poseen la capacidad de ver en estéreo, sobre todo los mamíferos depredadores la necesitan para calcular distancias para poder correr, volar o saltar y coger a sus presas para sobrevivir. Por el contrario, los animales que son presas, mamíferos herbívoros en su mayoría, no cuentan con esta capacidad ya que su alimento y necesidades para sobrevivir se encuentran en dos dimensiones, el suelo.
 Entre otras aplicaciones que se han desarrollado de la visión estéreo, está la muy de moda proyección de películas en 3D, que en realidad el origen de ésta tecnología ya estuvo en desarrollo desde 1838 por el físico británico Charles Wheatstone. Se basa en fotografiar dos veces una misma escena desde dos ángulos distintos (normalmente ángulos equivalentes a la distancia de separación de nuestros ojos) y luego usar las gafas 3D que sirven para unir las dos imágenes desincronizadas, sirviendo las gafas así como una especie de filtro.

            Se pueden realizar algunos experimentos sobre visión estéreo con ayuda de la herramienta MatLab, donde es posible reconstruir una escena 3D a partir de la fotografía o video de dos o más puntos de vista de la escena. Se utiliza el Toolbox Computer Vision System para hacer estas operaciones, ya existe bastante soporte en la página de MathWorks a cerca de este tema y muchos modelos de experimentos en línea con algunos ejemplos grabados alojados en YouTube.

Empezando video con MatLab

Para empezar a utilizar el video en MatLab no se necesita saber muchos comandos:


>>  imaqhwinfo;           %Devuelve la información del hardware disponible del adaptador de video   

ans = 

    InstalledAdaptors: {'winvideo'}
        MATLABVersion: '7.8 (R2009a)'
          ToolboxName: 'Image Acquisition Toolbox'
       ToolboxVersion: '3.3 (R2009a)'

                  
>> imaqhwinfo('winvideo');          %Nombre del adaptador de video instalado

ans =

       AdaptorDllName: 'C:\Program Files\MATLAB\R2009a\toolbox\imaq\imaqadaptors\win64\mwwinvideoimaq.dll'
    AdaptorDllVersion: '3.3 (R2009a)'
          AdaptorName: 'winvideo'
            DeviceIDs: {[1]}
           DeviceInfo: [1x1 struct]


>> imaqhwinfo('winvideo',2);          %ID del dispositivo a utilizar, en este caso es el 2 donde se encuentra la webcam que se utiliza y el uno es de la cámara de la laptop con la que se trabaja


* En caso de utilizar la misma cam de la laptop utilizar este comando:

>>  video=videoinput('winvideo');       %Crea la variable de entrada de video con el nombre video


Summary of Video Input Object Using 'Integrated Webcam'.

   Acquisition Source(s):  input1 is available.

  Acquisition Parameters:  'input1' is the current selected source.
                           10 frames per trigger using the selected source.
                           'YUY2_1280x720' video data to be logged upon START.
                           Grabbing first of every 1 frame(s).
                           Log data to 'memory' on trigger.

      Trigger Parameters:  1 'immediate' trigger(s) on START.

                  Status:  Waiting for START.
                           0 frames acquired since starting.
                           0 frames available for GETDATA.


>>  preview(video)  %Genera una pantalla que muestra lo que se esté filmando




Si quisiéramos tomar una muestra de la imagen que se observa para tratarla y empezar con el procesamiento digital de imagenes podemos utilizar el siguiente comando:

>> foto= getsnapshot(video);



lunes, 25 de febrero de 2013

Mensaje problema con el file audit.log en elastix 2.2

Desde que actualicé la central de elastix 1.6 a 2.2 tenía el molesto mensaje de "The file audit.log couldn't be opened" como se ve en la figura




Lo arreglé insertando por ssh el siguiente codigo en la consola de comandos a través de putty:


# cd /var/log/elastix
# touch audit.log
# chown asterisk:asterisk audit.log