fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Proyecto de visión artificial+Lego NXT (presentación)

12 Respuestas
4 Usuarios
0 Reactions
4,309 Visitas
jorcoval
Respuestas: 418
Topic starter
(@jorcoval)
Reputable Member
Registrado: hace 18 años

Bien, estoy acabando por fin.

La breve descripción de siempre: El proyecto consiste en capturar video en movimiento de una persona. CUando dicha persona mueva un brazo, un robot (robonova o lego nxt) conectados al PC debe imitar dicho movimiento.

Está programado en C con OpenCV, de momento es una versión beta y no sé si puede jorobar algo de vuestros PC's por tanto muestro unas imágenes y descripción del funcionamiento. Si interesa, haré un tutorial de programación cuando lo acabe del todo y lo presente.
-----------------------------------------------------------------------------------------

Primero se nos muestra un menu de usuario. Hay unos checkbox para mostrar los distintos resultados del programa, un textbox y varios botones.
menu
El usuario pulsa el botón "Ver referencia" y se le muestra una ventana donde con un slider
ref1
Ajustando el slider debe obtener una imagen aproximada de su torso. Fijaos que el rectangulo ajusta al torso dinámicamente (se muestra tal cual en el programa). Con una flecha roja he indicado que el slider se ha movido (esa flecha es paint, no del programa)
ref2
Cuando el usuario decide que la imagen de referencia es más o menos adecuada, pulsa el botón "Capturar referencia". Se muestra el resultado obtenido:
ref3
Ahora el usuario pulsa "Capturar video", con lo que dinamicamente el programa calcula el ángulo que forma el brazo del usuario con el torso del mismo. Muestro las ventanas de Video Real (información que se muestra al usuario, con una linea verde se le señala su brazo, y un rectangulo rojo marca su torso. Esta linea y rectangulo son reales del programa, no añadidos posteriores).
Por otro lado una ventana muestra solo el brazo, como procesamiento interno, con la línea blanca a partir de la cual obtengo el ángulo.
Finalmente fijarse en el textbox, que muestra el ángulo de forma numérica
final
-----------------------------------------------------------------------

El siguiente paso es comunicar ese ángulo al Robonova para que mueva el servo adecuado. Estas librerías de comunicación ya las tengo hechas.
Otro paso sería comunicar la misma información a un LegoNXT. Esto todavía no lo tengo pero creo que es bastante sencillo mediante NXC (programación en C para Lego) y enviar el ángulo mediante un bluetooth.

Responder
11 respuestas
drakerdg
Respuestas: 475
(@drakerdg)
Reputable Member
Registrado: hace 19 años

jorcoval, felicitaciones, interesante trabajo has logrado. Solo tengo una pregunta: ¿Siempre hay que ajustar la imagen de referencia o esto se realiza una única vez? y ¿Existe la posibilidad de crear un algoritmo que realice este ajuste de manera automatica, de manera que no sea necesario realizarlo automaticamente? ❓ ❓

Responder
jorcoval
Respuestas: 418
Topic starter
(@jorcoval)
Reputable Member
Registrado: hace 18 años

La imagen de referencia se ajusta 1 vez por ejecución del programa.

No sé si se puede ajustar de forma automática ya que depende mucho de las condiciones de luz

Responder
gizer20
Respuestas: 1570
(@gizer20)
Noble Member
Registrado: hace 19 años

Muy buen trabajo jorcoval. Iras a la campus??? lo digo porque se podria hacer una conferencia improvisada que no este dentro de la programacion de la campus sobre vision artificial ( con los expertos que tenemos, tu, mif , eventronic, y alguno que me dejo seguro ) podria ser muy interesante

Responder
mif
Respuestas: 1095
 Mif
(@mif)
Noble Member
Registrado: hace 19 años

jorcoval, has hecho un trabajo excelente, es un gusto ver como esta historia de la Vision Artificial va avanzando poco a poco... Me interesa mucho que hayas utilizado las librerias Open CV, yo nunca las he usado porque me gusta hacer las cosas desde cero, pero llega un punto en que se complican demasiado, asi que voy a ver si me meto con ellas tambien.
Una pregunta, el programa se basa en el color o en el contraste de figuras?

Responder
Página 1 / 3
Compartir: