2011-06-13 17 views
6

Comment puis-je faire un suivi de mouvement en utilisant Emgu CV ou OpenCV? Quelles sont les différentes façons de le faire?Suivi de mouvement en utilisant Emgu CV (ou OpenCV)

Je souhaite suivre les objets sur un arrière-plan fixe.

Cordialement

+0

Que faites-vous de suivre? Objets sur un fond fixe? Une couleur particulière? Un objet particulier? S'il vous plaît soyez plus précis. – damian

+0

Merci pour votre commentaire. J'ai mis à jour la question. –

+0

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

Répondre

7

Comme je ne sais pas Emgu CV, je recommanderais OpenCV. Je vous suggère d'utiliser le suivi Lucas Kanade (flux optique). -vous suivre les objets en procédant comme suit:

  1. Lire une image de la source (webcam/fichier vidéo, etc.)
  2. préprocesseur (en option, mais peut être avéré utile)
  3. Extrait d'une région (par exemple de la tête d'une personne) pointe vers la piste. Vous pouvez le faire automatiquement en utilisant la méthode cvGoodFeaturesToTrack.
  4. Ensuite, vous pouvez suivre ces points avec cvCalcOpticalFlowPyrLK, ce qui vous donnera les nouvelles positions de vos points suivis.

Voir un meilleur tutoriel here.

Si vous voulez comprendre les concepts derrière ces fonctions, je recommande fortement de lire Learning OpenCV - malheureusement, le livre lié est seulement un aperçu, avec des pages manquantes.

De toute façon, je suis sûr que vous pouvez penser à un endroit où vous pouvez obtenir ce livre;).

+0

Merci pour votre réponse. J'ai fait ce que tu as dit avec Emgu. Maintenant, comment puis-je grouper des points (pixels) en tant qu'objet (il y a plus d'un objet)? Et comment puis-je comprendre la direction? (OK, Ceci est une nouvelle question peut-être :) –

+0

vous pouvez prendre le rectangle englobant des régions par exemple: http://i54.tinypic.com/15d5ncj.png – Matyas

+0

Pourriez-vous me guider s'il vous plaît comment prendre rectangle de délimitation? –