You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenCV追踪器算法使用报错求助:已安装opencv-contrib-python

解决OpenCV追踪器API找不到的问题

问题原因

你的报错是因为OpenCV 4.5及以上版本将旧版追踪器(BOOSTING、MIL、KCF、TLD、MEDIANFLOW)迁移到了cv2.legacy子模块中,直接通过cv2.TrackerXXX_create()调用会触发属性不存在的错误。

修复方案

修改代码,从cv2.legacy模块调用追踪器创建方法,同时优化条件判断逻辑并增加无效输入处理:

import cv2

def ask_for_tracker():
    print("Welcome! What Tracker API would you like to use?")
    print("Enter 0 for BOOSTING: ")
    print("Enter 1 for MIL: ")
    print("Enter 2 for KCF: ")
    print("Enter 3 for TLD: ")
    print("Enter 4 for MEDIANFLOW: ")
    choice = input("Please select your tracker: ")

    if choice == '0':
        tracker = cv2.legacy.TrackerBoosting_create()
    elif choice == '1':
        tracker = cv2.legacy.TrackerMIL_create()
    elif choice == '2':
        tracker = cv2.legacy.TrackerKCF_create()
    elif choice == '3':
        tracker = cv2.legacy.TrackerTLD_create()
    elif choice == '4':
        tracker = cv2.legacy.TrackerMedianFlow_create()
    else:
        print("Invalid choice, defaulting to MIL tracker")
        tracker = cv2.legacy.TrackerMIL_create()

    return tracker

tracker = ask_for_tracker()

额外验证步骤

  1. 先确认你的OpenCV版本:
    import cv2
    print(cv2.__version__)
    
  2. 若版本低于4.5但仍报错,重新安装匹配版本的opencv-contrib-python:
    pip uninstall opencv-python opencv-contrib-python
    pip install opencv-python==4.4.0.46 opencv-contrib-python==4.4.0.46
    

内容的提问来源于stack exchange,提问作者Oğuz Berk Akdeniz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 20:46:09