2011-06-13 38 views
6

¿Cómo puedo hacer un seguimiento de movimiento usando Emgu CV o OpenCV? ¿Cuáles son las diferentes maneras de hacerlo?Seguimiento de movimiento usando Emgu CV (u OpenCV)

Quiero rastrear objetos con un fondo fijo.

Saludos

+0

¿Qué es lo que debe rastrear? Objetos contra un fondo fijo? Un color en particular? ¿Un objeto en particular? Por favor sé más específico. – damian

+0

Gracias por su comentario. He actualizado la pregunta. –

+0

ver http://stackoverflow.com/questions/3803061/how-to-implement-optical-flow-tracker –

Respuesta

7

Dado que no sé Emgu CV, recomendaría OpenCV. Sugiero que uses el seguimiento de Lucas Kanade (flujo óptico). Usted seguimiento de objetos haciendo lo siguiente:

  1. leer una imagen de la fuente (webcam archivo/vídeo, etc.)
  2. preproceso que (opcional, pero se puede probar útil)
  3. Extracto de una región (por ejemplo, desde la cabeza de una persona) puntos para rastrear. Puede hacerlo automáticamente usando el método cvGoodFeaturesToTrack.
  4. Luego puede rastrear estos puntos con cvCalcOpticalFlowPyrLK, que le dará las nuevas posiciones de sus puntos rastreados.

Ver un mejor tutorial here.

Si quiere entender los conceptos detrás de estas funciones, le recomiendo leer Learning OpenCV - desafortunadamente el libro vinculado es solo una vista previa, con páginas faltantes.

De todos modos, estoy seguro de que puedes pensar en un lugar donde puedes conseguir este libro;).

+0

Gracias por su respuesta. He hecho lo que dijiste con Emgu. Ahora, ¿cómo puedo agrupar puntos (píxeles) como un objeto (hay más de un objeto)? ¿Y cómo puedo averiguar la dirección? (OK, esta es una pregunta nueva, tal vez :) –

+0

puede tomar el rectángulo delimitador de las regiones, por ejemplo: http://i54.tinypic.com/15d5ncj.png – Matyas

+0

¿Podría por favor guiarme cómo llevar el rectángulo delimitador? –

Cuestiones relacionadas