2012-11-29 4 views
0

J'avais utilisé l'algorithme LK pour détecter les coins et le point d'intérêt pour le suivi. Cependant, je suis coincé à ce point où j'ai besoin d'avoir quelque chose comme une boîte rectangle pour suivre l'objet suivi. Tout ce que j'ai maintenant était juste un tas de points montrant mes objets en mouvement.Suivi d'objet dans OpenCV

Existe-t-il des méthodes ou des suggestions pour cela? En outre, toute idée sur l'ajout de compteur dans la fenêtre de sorte que mon objet entrant et sortant de l'écran peut être compté aussi bien?

Merci

Répondre

2

Il y a lots d'options! Dans OpenCV, je suggère d'utiliser CamShift comme point de départ, car il est relativement facile à utiliser. CamShift utilise un déplacement moyen pour rechercher de manière itérative un objet dans des trames consécutives.

Notez que vous devez graver le tracker avec une sorte d'entrée. Vous pouvez demander à l'utilisateur de dessiner un rectangle autour de l'objet ou d'utiliser un détecteur pour obtenir l'entrée initiale. Si vous voulez suivre des visages, par exemple, OpenCV a un cascade classifier et des données d'entraînement pour un détecteur de visage inclus.

+0

Je l'utilise pour le suivi des véhicules et je voudrais avoir une fonction d'initialisation automatique pour commencer la détection et le suivi. Je pensais implémenter la méthode cvGoodFeaturesToTrack avec CamShift. Est-ce que c'est faisable? – user1838245

+0

@ user1838245 Je suppose que c'est possible, mais Camshift est normalement utilisé avec l'histogramme comme caractéristique. Les caractéristiques renvoyées par de bonnes caractéristiques à suivre ne sont généralement que des virages forts, alors que c'est une option, il n'est peut-être pas aussi invariant de poser des changements lorsque les véhicules tournent. Là encore, les caractéristiques de l'histogramme rencontrent des problèmes lorsque des véhicules avec des couleurs similaires se chevauchent! Beaucoup de choses à considérer, mais OpenCV rend vraiment facile d'essayer différentes fonctionnalités/trackers. Utilisez le CascadeClassifier pour détecter le véhicule initial. – Chris

+0

J'essayais ça aussi. Mais j'ai du mal à créer une cascade pour détecter ce que je veux. Y a-t-il de bons tutoriels qui montrent comment le créer? – user1838245