从 opencv 中的 kcf 跟踪中清除 ROI 历史记录
Posted
技术标签:
【中文标题】从 opencv 中的 kcf 跟踪中清除 ROI 历史记录【英文标题】:clear ROI history from kcf tracking in opencv 【发布时间】:2016-11-03 18:17:56 【问题描述】:我在 OpenCV 中使用 KCF 跟踪。一切正常,我也可以跟踪一个对象,但我有一个问题: 我设置了投资回报率,算法工作正常,有时我需要改变我的投资回报率。那里的跟踪器应该重置并跟踪我的新投资回报率,但它不会。事实上,最后一个 ROI 将保留在历史中,并且会影响新的位置。
这也是我的代码总结,我写了重要的几行:
Rect2d roi;
Mat frame;
Ptr<Tracker> tracker = Tracker::create("KCF");
VideoCapture cap("C1_0001.mp4");
cap >> frame;
roi = selectROI("tracker", frame);
if (Condition = true)
roi = selectROI("tracker", frame);
tracker->init(frame, roi);
for (;; )
cap >> frame;
tracker->update(frame, roi);
我想在条件为真时更改投资回报率。
【问题讨论】:
【参考方案1】:您需要致电:
tracker->clear();
tracker = cv::Tracker::create("KCF");
tracker->init(frame, roi);
问题已经在这里解决了: OpenCV 3 Tracker won't work after reinitialization
【讨论】:
以上是关于从 opencv 中的 kcf 跟踪中清除 ROI 历史记录的主要内容,如果未能解决你的问题,请参考以下文章