4/4/08

Esto empieza a coger color.

Una vez hecha la estructura para guardar los objetos, que me ha llevado más tiempo de lo esperado, como lo prometido es deuda, aquí está el vídeo que muestra los resultados:



Como se puede ver detecta las partes de la imagen que se quedan quietas un tiempo (y alguna cosilla que no :-( ). En cuanto cambie unas cuantas cosas del código que no me acaban de gustar mis siguiente tarea será diferenciar cuales de estas zonas que detecto siguen en la imagen con el paso de los frames.

Además como me sugirieron los profesores he aplicado un filtro de gauss para solucionar el problema de los objetos que se mostraban no-conexos, para esto además he bajado un poco el umbral para la umbralización. Aquí muestro los resultados del cambio.

antes:



después:



por último en el siguiente enlace que me ha pasado Gillermo(un alumno de la superior que hizo el pfc de sistemas con GAVAB) podéis ver unos vídeos de un italiano que usa el filtro de partículas para seguimiento con diferentes técnicas.

http://es.youtube.com/user/brizio73

7 comentarios:

emilio ligero dijo...

Hola Antonio,
soy un alumno de la URJC también y acabo de comenzar a utilizar opencv y me gustaría que me hexases una manilla.

Estoy intentando reproducir las imagenes desde la web-cam pero el proceso no se porque es lento.
Te copio un trozo de codigo, me imagino que será asi como se capturan las imagenes por lo que he leido.

cvNamedWindow("mainWin",0);
cvMoveWindow("mainWin",50,50);
Ipl_img = cvQueryFrame(capture);
cvShowImage("mainWin",Ipl_img);
while (esc==-1 && cvWaitKey(1)==-1)
{
cvShowImage("mainWin",Ipl_img);
esc=cvWaitKey(5);
Ipl_img = cvQueryFrame(capture);
cvFlip(Ipl_img,NULL,1);
}

no entiendo por que entre la captura y mostrarlo en pantalla tarda tanto.
Algun consejo?

Thanks!

Antonio Collazos Carrera dijo...

Hola Emilio,

no veo nada en el código, que parezca estar mal, es más, lo he probado con mi webcam y funciona bien.

Si con que tarda en mostrar imágenes te refieres a que al principio tarda y luego ya van las imágenes a una velocidad correcta, es normal, ese tiempo se debe a que la cámara puede tardar un poco en ponerse en funcionamiento(dependerá de la webcam). Para esto, yo pongo un waitkey de unos cuantos segundos al principio y muestro un mensaje por pantalla.

Si te refieres a que las imágenes van a tirones, esto puede ser por la webcam o por el ordenador en el que lo estés ejecutando.

Espero te sirva de ayuda.

Un saludo,
Antonio.

emilio ligero dijo...

k tal antonio, pues si, despues de varias pruebas el problema es de la camara, mejor dicho de los drivers. Porque probando el codigo corriendo bajo windows me funciona correctamente.

Muchas gracias.

Por cierto, algún foro sobre opencv en español?

Antonio Collazos Carrera dijo...

Lo siento, no me consta la existencia de ningún foro sobre opencv en español.

Si lo encuentras avisa ;-)

Un saludo.

Marcelo Peralta dijo...

Aqui hay un foro de opencv en español:
http://groups.yahoo.com/group/OpenCVenEspanol

Lo malo es que se creo hace poco...

Antonio Collazos Carrera dijo...

Gracias por el soplo Marcelo, me lo apunto y lo pondré en la sección de enlaces.

emilio ligero dijo...

jejeje, hola de nuevo.
Lo de foro es nuevo... porque lo cree yo! jajaja aunque como podreis comprobar no se habla mucho.

Un saludo!