OpenCV3.4.1中Tracker和MultiTracker扩展模块的使用

Tracker单目标跟踪

与3.1版本不同,Tracker的初始化为:

Ptr tracker =TrackerKCF::create(); //kcf的跟踪算法,各个参数算法都定义为一个类了,不再是以往通过

参数传值的方式去实现不同算法跟踪。

MultiTracker 多目标跟踪

vector objects;

selectROIs("Multiple Objects Tracking", frame, objects);//在视频读取的第一帧上,选取多个跟踪目标,

selectROIS参数1:窗体名,参数2:第一帧图片,参数3:存储需要被跟踪的对象

接下来是重点了,敲黑板!!!

MultiTracker trackers;

vector> algorithms;
    vector obj;
    for (auto i = 0; i < objects.size(); i++) {
        obj.push_back(objects[i]);
        algorithms.push_back(TrackerKCF::create());
    }
    trackers.add(algorithms, frame, obj);  //这个MultiTracker跟踪类,与之前版本有很大的不同,

上面循环是为每个跟踪对象绑定一个跟踪算法,作为trackers.add的参数。

(我是新手,如有说错的地方,请指教更正。。)

 

你可能感兴趣的:(OpenCV3.4.1中Tracker和MultiTracker扩展模块的使用)