Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Como ya estoy de medio vacaciones, pero a la vez no tengo demasiados medios técnicos, me dedico a recopilar datos y a procesarlos como puedo en mi cabecilla, para poder hacer cosas en verano.
Como sabeis estoy con el tema del Bluetooth... a falta de hacer algunas pruebas con otro ordenador, el tema del TouchPad... necesito más medios que mi portatil... y... ahora viene el proyecto guapi guapi... Visión artificial con una simple webcam, entonces aqui vienen mis preguntas y aclaraciones:
·Sé que es posible, porque si no me equivoco Golfus Hispanicus lo emplea, asi como otros proyectos como los de esta chiquita tan maja: Mavis
·¿Cómo se empieza en este mundito?
·¿Qué librerías usais para obtener imágenes de la webcam?
·¿Qué librerías usais para procesar la imagen?
·¿Es imprescindible programar el sistema en C?
·¿Tenemos algun proyecto de ejemplo?
Yo estoy comenzando con la librería WebCam.dll, pero me temo que es muy incompleta, y además consume demasiados recursos comparándolo con el proyecto de Mavis. Aun así, tengo un programa hecho que lo único que tiene es un botón, con el que al pulsarlo, se copia la imágen de la webcam en un control PictureBox... me imagino que es un primer paso en este mundo, y que me quedan miles de caminos que recorrer, pero esta librería no sé si da mucho más de si, de modo que me gustaría que alguno que haya trabajado con esto me eche un cablecillo.
Seguiré informando. Muchas gracias por la ayuda.
Ángel
eventronic, Excelente trabajo!!! va en tiempo real, y la precision de la forma a seguir es buenisima... me dejas que cotillee un poco?
mmm... Que dll has usado para la camara?
La EyeToy la detecta como una webcam normal en el ordenador? o hay que hacer lago especial?
En qué lenguaje esta programado?
Usas Windows o Linux?
Bueno, cuando me contestes se me ocurriran muchas mas preguntas...
gizer20, Yo no lo habia pensado, pero es verdad que por el numero de visitas de este foro, parece que puede tenr buena acogida un taller asi... A mi no me importaria en absoluto, claro, que para empezar no se puede esperar conseguir lo que ha conseguido eventronic... ja ja ja, pero creo que podriamos hacer algo asi como un taller o conferencia...
Hola Mif
No he usado ninguna dll para la cámara, la capturo de forma directa mediante unas librerías de Windows vfw, que se enlazan a cualquier programa en C. La EyEToy es una cámara USB normal, solo necesitas descargarte el driver para PC, que encontrarás en cualquier buscador. El programa está realizado en C++ usando el entorno de Borland, bajo Windows.
Aquí hay un pequeño documento en pdf que explica un poco el sistema usado. Pulsa en el siguiente link:
Documento de Eventronic sobre V.A.
Saludos
Hola, la verdad que me he quedado frito con el video. :D:D:D . Me he leido el Documento, me parece muy interesante el tema de secmentar la imagen para poder procesarla por separado. ¿ Lo que detectas son los objetos en movimiento ? ¿ o es capaz de seguir un objeto que le determines, en este caso el movil ?
Un saludo
P.D.: Me pondré a trabajar en el tema, me gustaría hacer un juego como eyetoy para PC, y luego esos conocimientos utilizarlos para robotica, pero claro , los sueños sueños son ... :D:D:D:D
Me tomé tiempo para leer este topic desde su inicio (todo este domingo) y me parecio muy interesante, intenté utilizar la dll de Mif y como mencionó otro forero no trabaja en VB6, solo en .NET, veo que existen muchas posibilidades de emprender el tema, existen varias plataformas y sistemas operativos en las que se puede implementar.
Fuera de todo entiendo que el objetivo de este topic de VA no es poder ver, si no la capacidad de interpretar lo que se ve. La camaras sea el tipo que sea, pueden ver (a su manera), su funcionamiento es un reflejo de la forma de operar del ojo humano. Ahora bien, y aqui viene lo interesante, el cerebro es el que se encarga de recibir esa informacion e interpretarla, pero en que se basa para realizar esto, diferenciar objetos, colores distancias, movimientos, etc. Aqui es donde al parecer interviene la experiencia, pues desde que se nace acumulamos imagenes y eventos que se relacionan para entenden nuestro entorno visual. De manera analoga observo que cada uno de los que han desarrollado un prototipo para este fin aplica mas o menos estos principios. Analiza la imagen en partes o en su totalidad y en base a tolerancias determina los limites o formas que busca, encuentra su centro y con esta información se pude controlar algun acutuador para hacercarse al objeto, seguirlo o capturarlo o simplemente reconocerlo o detectar si se mueve.
Estoy empesando tambien a incurcionar en este tema, empieso desde luego en VB6, pero es muy probable que cambie a C. Por el momento felicito en especial a Mif por encender la llama de este topic y a todos los que han proporcionado sus ideas e incluso trabajos. Por cierto eventronic, que buen trabajo realizaste con esa camara. Estoy sorprendido por el desempeño.
Bueno, mucho bla, bla, bla y a trabajar pues por lo visto esto ya lleva rato en discusion, saludos a todos
Eventronic, si lo que estás intentando es detectar objetos para no chocarte con ellos, has probado a:
- bajar la resolución de la imagen, hacer un histograma de colores ordenado por los más repetidos.
- Una vez que lo tienes buscas las áreas con mayor concentración de los colores con mas de una determinada cantidad
- Guardar los colores, posiciones y áreas
- Si en las siguientes imágenes esos colores van ocupando mas espacio, es que te estas acercando a ellos.
Espero que te sirvan estas ideas. Si es muy pesado el proceso puedes dividirlo como ya haces. Para objetos monocolor deberían servir, pero por ejemplo para un objeto a lunares lo dudo.
Un saludo