OpenCV 跟踪器无法识别(属性错误:模块“cv2”没有属性“TrackerKCF_create”)

问题描述 投票:0回答:2
import cv2

if __name__ == "__main__":
    major_v, minor_v, subminor_v = (cv2.__version__).split('.')
    # >>> 4.6.0
    tracker = cv2.TrackerKCF_create()
    # >>> AttributeError: module 'cv2' has no attribute 'TrackerKCF_create'

如上面的代码所示,运行此命令时,这些是我得到的结果(我已经在 cv2 中的其他跟踪器上尝试过此操作,除了

TrackerMIL_create
之外,所有应该包含的跟踪器都给了我这个错误。我使用
pip install opencv-python
,
pip install opencv-contrib-python
,以及
pip install opencv-contrib-python-headless
在我的终端上尝试安装 opencv。我还没有遇到 cv2 属性的任何其他问题(例如
imread
imshow
resize
),但跟踪器给我带来了困难,我想知道我是否做错了什么开始。谢谢。

python opencv object-tracking
2个回答
4
投票

删除所有内容,然后重新安装

opencv-contrib-python
。这些包可能会相互冲突。
pip uninstall opencv-contrib-python opencv-python opencv-contrib-python-headless && pip install opencv-contrib-python


0
投票

与@ddelarue答案一样,您需要确保安装了

opencv-contrib-python
(或
opencv-contrib-python-headless
),而不是非contrib版本。

此外,API 在某些时候发生了更改。现在是

cv2.TrackerKCF.create()
(4.9.0.80,也可能是更早的版本)

© www.soinside.com 2019 - 2024. All rights reserved.