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
825 K Visitas
mif
Respuestas: 1095
 Mif
Topic starter
(@mif)
Noble Member
Registrado: hace 19 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
drakerdg
Respuestas: 475
(@drakerdg)
Reputable Member
Registrado: hace 20 años

Felicitaciones Mif, muy buen trabajo, la parte del movimiento está muy interesante.

Por cierto en esta versión en C ¿Ya no utilizas librerias dll?

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

Muchas gracias DrakerDG!
Efectivamente esta version esta en C, gracias a los archivos que subio eventronic, que me han servido para aprender como conectar la camara al programa, y como crear canales de datos para acceder por Punteros, lo que lo hace enormemente mas rapido que mi version en VB, ademas de la ventaja que supono no utilizar, como bien dices, ninguna dll

Responder
drakerdg
Respuestas: 475
(@drakerdg)
Reputable Member
Registrado: hace 20 años

Exelente, pues bien eso resuelve mi problema pues no tengo la versión que tu tienes de VB para usar la webcam.dll, pero si tengo Visual C++ (versión 6) es viejito, pero creo que me servirá.

Responder
eventronic
Respuestas: 47
(@eventronic)
Ardero
Registrado: hace 20 años

Juer Mif que rápido vas.. 😉
Después de unos días desconectado por motivos de curro, he visto que has realizado grandes progresos. Yo también uso el Builder 6 C++ y aunque tiene muchos fallos, va de vicio para este tipo de aplicaciones.
Efectivamente el tema de las variables r g b es error de ponerlas en su sitio, por las prisas...
Para acceder a un color, yo también uso una estructura que visualmente facilita el acceso a los mismos y hace cometer menos errores.
Por ejemplo:

typedef struct{
unsigned char b, g, r;
} COLOR;
COLOR *leo;

//Puntero obtiene ahora la dirección del primer byte de la imagen
Puntero = Imagen.punt.lpIndex;
// o bien
leo = (COLOR*)Imagen.punt.lpIndex;
for(int x=0; x<320; x++)
{
for(int y = 0; y<240; y++)
{
r = leo.r;
g = leo.g;
b = leo.b:

//aqui operaciones varias con la imagen

leo ++; //sube al siguiente trio de bytes
}
}

Ahora lo que me interesa es 'recuadrar' las distintas zonas en movimiento dentro de una misma imagen. Hasta ahora el programa solo me identifica todo lo que se mueve, aunque sean objetos distintos.
También estoy valorando las OpenCV bajo C, pero me limitan mucho el acceso a las ventanas de mi aplicación, es decir me obliga a usar como salida unas ventanas flotantes fuera de mi interface, lo cual no me gusta, aunque la captura si puede ser una ventana mía 🙁
Animo Mif y para eso estamos.

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

Si eventronic, la verdad es que ha ido mas rapido de lo que imaginaba, pero no podria haberlo hecho sin la ayuda de los PDF que subiste.
Ahora ando liado intentando dividir la imagen en cuadrados que contengan medias de color, que creo que es algo parecido a lo que haces tu, no?
El caso es que mi imagen de 320x240, intento que sea como una de 40x30 y que cada uno de esos pixeles de la pequeña contenga la media de coor de los 8x8 que supone de la grande... pero no consigo dividir bien la imagen, cada vez que lo intento se me descuadra la imagen resultante, aunque de momento lo unico que intento es obtener una imagen de 320x240 negra, pero con puntos cada 8x8 pixeles que tengan el color de la origina... no se si me he explicado...
El tema es,¿Cómo haces tu para dividir la imagen? creo que se me esta escapando algo, que debe ser una tonteria y no tego ni idea de lo que es...

Responder
Página 60 / 94
Compartir: