Archive for February, 2010

Webcam Bluetooth

Me estoy planteando utilizar la webcam BT-1 para el proyecto. De tal manera que la persona invidente podría colocar esta cámara donde guarde los CDs, incluso estar fijada a la estantería o colocada sobre la misma. De tal manera que simplemente al sacarl el CD de la estantería dijera cual es.

bt-1-ecamm

Me permito también recordar que la aplicación de reconocimiento de carátulas de CD es tan solo una de las posibilidades que quizá por su relación sencillez/complicación y la componente marketiniana que tanto me gusta he decidido implemetar primero.

Su precio es de 150$ lo cual tampoco es un problema por que es una cosa que se puede reutilizar con facilidad.Incluso como cámara espía!

El único problema (y esto a luixal le va a encantar xD). Solo funciona sobre Mac OS X.

Sustraccion de fondo o Background subtraction en OpenCV

Para mejorar las posibilidades de la detección de cuadrados en busca de la carátula de CD me he aventurado a probar la sustracción de fondo.

Considero que la cámara va a estar colocada en un sitio concreto. Incluso me estoy planteando enfocarla hacia arriba. Pero eso es facilitarme las cosas demasiado. Primero quiero ver las carátulas y después ir subiendo la complejidad. Es posible que cada vez que suba un nivel de complejidad el enfoque para llegar a la solución sea diferente. Pero lo importante es aprender :) Acepto críticas y sugerencias. (De sabios es evaluar y dudar cuidadosamente cualquier afirmación).

Con este enfoque pretendo quedarme con lo que se mueva y a partir de ahí pasar el detector de cuadrados.

En el código que estoy utilizando:

  • Es un refrito, hay partes en castellano y otras en ingles. ¡ Son pruebas !
  • Se está realizando una sustracción del fondo Gausiana (Gaussian Mixture Model)
  • Se genera un mapa de bits donde el negro absoluto significa fondo y el blanco puro significa “no fondo” ( es decir, algo en movimiento)
  • En la ventana llamada “Original” genero una imagen en la que solo se ve lo que está en movimiento.
  • Tiene un warning en la asignación de valor a x, insisto! son pruebas!

backgrsub

Enlaces de interés:

Código:

Read the rest of this entry »

Detección de cuadrados I

Como primera aproximación para detectar las carátulas de CDs se me ha ocurrido lo siguiente. También utilizaré este post a modo de “en que punto me encuentro”.

Acotando el problema:

  • El dispositivo de captura de imagenes no se mueve. (El fondo está fijo)
  • El CD entra en la imagen. (Se puede filtrar por movimiento)

Read the rest of this entry »

OpenCV capturando WebCam – Inicio

Aquí dejo un ejemplo de OpenCV utilizando la webcam para mostrar la información por pantalla. Para incluir nuevos procesos solo hay que transformar la imagen entre la captura y la muestra, aplicar los algoritmos correspondientes y resaltar aquello que se considere oportuno.

Read the rest of this entry »

Utilizar OpenCV con Code::Blocks en Ubuntu 9.10

Lincar la librería de OpenCV en Code::Blocks es extremadamente sencillo. Una vez instalado OpenCV y creado el proyecto solo hay que ir al menú Project>Properties y en la pestaña Libraries que queda la penúltima a la derecha incluir la librería buscando “opencv”.

Puede parecer una estupidez pero se pierde muchisimo tiempo si no se conoce esta tontuna.

A partir de aquí podemos utilizar OpenCV de manera normal. Sin problema.

Instalar OpenCV en Ubuntu 9.10

La instalación de OpenCV v 1.1 en Ubuntu 9.10 y 8.1 está automatizada con el Gestor de Paquetes Synaptic.

Solo hay que ir a Sistema>Administración>Gestor de Paquetes Synaptic y buscar “libcv.dev” hacer doble click en este paquete y aceptar la instalación de los paquetes necesarios.

Instalar la versión 2.0 de OpenCV es más problemático y las mejoras pese a ser abundantes no son necesarias para el desarrollo de Open Virtual Object Viewer.

Recomendaciones:

  • Como tutorial principal y guía de referencia recomiendo el wiki de Wilowgarage.
  • Como guía de referencia y para aprendizaje de directrices de visión por computador lo mejor es el libro de O`Really Learning OpenCV.
  • Para temas sencillos recomiendo utilizar OpenCV 1.1, si requieres algo más concreto o más depurado mirate la versión 2.0

Instalar codeblocks en Ubuntu 9.10

Para el desarrollo de la aplicación sobre el teléfono Android utilizaré la IDE Code::Blocks. Es la que utilizo en el trabajo, me la han recomendado especialmente para C++.

A continuación un mini-tutorial para instalarla en Ubuntu 9.10

Actualizar paquetes:
$ sudo aptitude updatecode-blocks

Instalación:
$ sudo aptitude install codeblocks codeblocks-contrib

Es recomendable instalar también:
$ sudo aptitude install build-essential gdb subversion
$ sudo aptitude install automake autoconf libtool
$ sudo aptitude install libgtk2.0-dev libxmu-dev libxxf86vm-dev

Para trabajar con wxWidgets GUI toolkit:
$ sudo aptitude install libwxbase2.8-dev wx2.8-headers libwxgtk2.8-dev wx-common
——————————
Estamos listos! Ahora para ejecutar, desde el menú de Aplicaciones>Programación o en línea de comando:
$ ./codeblocks

Nota: En Ubuntu 8.04 no funciona Code::Blocks IDE.

Links de interés: brothercomercio asturiascrocs workgenerador electricoMaquinaria para hosteleriaMASTER DE DERECHO AMBIENTALtarot gratuito on line