ORB feature tracking in opencv 3.0/c++

asked 2015-02-20 03:46:31 -0500

polar gravatar image

updated 2015-02-20 04:46:41 -0500

I already posted this question on another forum but did not get an answer yet.

The following link is about ORB detection and matching between two images: http://docs.opencv.org/trunk/doc/tuto...

However, it is not clear how to follow the same procedure for tracking. In details, for each new frame I would perform

matcher.match(descriptors[0], descriptors[1], matches);

... then extract good matches

matcher->knnMatch(descriptors[0],descriptors[1],matches, 2);

The question is how to obtain/build descriptors[0] from keypoints[0], which has been previously exracted from matches (good matches)? In other words, how to build a descriptor from keypoint?

P.S. am interested in orb-orb detection and tracking, since it is claimed that it provides a good compromise between speed and accuracy/robustness.

My objective at the end it track a feature point for a certain time span. So I need its ID. Does opencv feature the option to track the ID? Otherwise I could use KLT tracking. But, does KLT works well with ORB detection?

edit retag flag offensive close merge delete