Expresate

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

Avisos
Vaciar todo

Visión artificial

467 Respuestas
43 Usuarios
0 Reactions
1.1 M Visitas
mif
Respuestas: 1095
 Mif
Topic starter
(@mif)
Noble Member
Registrado: hace 20 años

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


Responder
466 respuestas
furri
Respuestas: 2708
(@furri)
Ardero
Registrado: hace 20 años

Buenooooo... he ido al peluquero y ahora ando perdido... he leido por encima todos los mensajes y dejando a un lado opiniones si tengo que comentar algo que es erroneo.

Bueno, por un lado la explicación del ARGB con respecto al RGB... mantengo mi opinión, el ARGB es identico al RGB pero con un byte adicional de profundidad pero el tratamiento de los tres colores individualizados es identico.

Ahora lo importante, dices que (por ejemplo) para buscar el azul con buscar un color entre 0000FF (azul puro) y 87CEEB (azul cielo) ya es suficiente y no es así, hay que comparar cada color de forma individual o te puede ocurrir esto...

Asi a bote pronto 555555 o el 850000 están entre 0000FF y 87CEEB, pues adjunto tienes esos colores.

Yo también creí esto al empezar a trabajar en V.A. y sin embargo es justo la puerta de entrada a la pesadilla de los ajustes y tolerancias para leer correctamente los colores en diferentes condiciones lumínicas.... al final tienes que separar los tres colores primarios y comparar uno por uno según una escala que tendras que montarte a mano... o con una formula que fué mi caso y que no es mal método...

Venga animo que vas por el buen camino...

furri.


Responder
joviwap
Respuestas: 301
(@joviwap)
Ardero
Registrado: hace 20 años

De todos modo es posible que este método sea muy útil para detectar tonalidades de rojo, no?

Seria posible modificar las secuencias RGB para convertirlas en GBR o GRB sin usar micho micro?

Es posible que en ese caso si fuesen utiles...

Un saludo a todos!


Responder
garrocha
Respuestas: 1110
(@garrocha)
Ardero
Registrado: hace 20 años

Bueno, de algo tiene que servir el convivir con gente de diseño industrial (aunque sea para que las cosas te suenen de algo :lol:)

Creo que el sistema de colores que nos convendria usar, por su similitud a como lo interpretamos los humanos son el HSL y el HSV

http://es.wikipedia.org/wiki/Teor%C3%ADa_del_color
http://es.wikipedia.org/wiki/Modelo_de_color_HSL
http://es.wikipedia.org/wiki/Modelo_de_color_HSV
http://en.wikipedia.org/wiki/HSV_color_space

Digamos que el valor que buscamos es principalmente el "Hue" o tonalidad, aparte del brillo, pero fundamentalmente la tonalidad, que es lo que entedemos por "azulado", "rojizo"....

De todas formas mañana seguramente os pueda contar mas sobre la teoria del color (a ver que me explican ;))


Responder
furri
Respuestas: 2708
(@furri)
Ardero
Registrado: hace 20 años

Tampoco.... vamos a pasarle "la prueba del algodón"... en el caso de Vision Artificial le pasaremos "la prueba del gris".

pongamos la premisa... "consideramos rojo desde FF0000 hasta DD0000". Con un margen tan pequeño es facil pensar que no puede haber valores entre estos dos que no sean rojos.... pues si... FAFAFA es gris, siempre que los tres colores sean iguales el color resultante es gris.

Es muy complejo.... y todo lo que sea reducir y filtrar a base de lineas de código hará mas y mas lento el proceso, aprovechando que Mif está usando herramientas mas avanzadas de las que yo usé le dije que a ver si podia hacer que la cámara (o el driver) diera la imagen en 16 colores... eso seria fantastico siempre que se trabaje con colores básicos.

Yo aun no lo he consegido y al final los algoritmos se me comen la velocidad hasta 1 fps... en un micro PIII 1G con 500Mb... que no es poco.

furri.


Responder
ranganok
Respuestas: 3875
(@ranganok)
Ardero
Registrado: hace 20 años

Ten encuenta que el modelo RGB es un espacio tridimensional y por lo tanto deberías tratarlo como un vector (o una matriz). Si quieres tratarlo como un numero mejor utilizar distancias y angulos de giro.

Por lo tanto el azul puro sería (0,0,FF) y el azul cielo sería (87, CE, EB). Te recomiendo que utilices coordenadas esféricas (d, angulo, angulo) y seguramente los calculos serán más rápidos.

S2

Ranganok Schahzaman


Responder
Página 30 / 94
Compartir: