OpenCV 4.6中Multi Tracker初始化报错及使用方法咨询
OpenCV 4.6 多目标跟踪MultiTracker初始化报错解决
问题场景
尝试用MultiTracker实现多目标跟踪,初始代码如下:
multiTracker = cv2.MultiTracker_create() for box in boxes: multiTracker.add(cv2.TrackerKCF_create(), frame, box)
运行触发错误:
multiTracker = cv2.MultiTracker_create() AttributeError: module 'cv2' has no attribute 'MultiTracker_create'
曾尝试cv2.MultiTracker、cv2.legacy.MultiTracker,均未解决,疑问OpenCV 4.6是否支持MultiTracker,以及替代方案。
可行解决方案
OpenCV 4.6中,MultiTracker及KCF这类传统跟踪器都被归类到legacy模块下,需同时修正跟踪器实例化和MultiTracker的调用路径:
修正后的完整代码:
multiTracker = cv2.legacy.MultiTracker_create() for box in boxes: multiTracker.add(cv2.legacy.TrackerKCF_create(), frame, box)
核心改动点:
- 用
cv2.legacy.MultiTracker_create()替代原cv2.MultiTracker_create() - 用
cv2.legacy.TrackerKCF_create()替代原cv2.TrackerKCF_create()
调整后即可正常初始化多目标跟踪器,消除AttributeError报错。
内容的提问来源于stack exchange,提问作者cou7inho
相关产品推荐
相关产品推荐

