openCV中无法使用cv2.TrackerMOSSE_create()等方法[Python]

Mar*_*cin 1 python opencv object-detection

我正在尝试使用 Python 中的 OpenCV 执行简单的对象检测。我的问题是我无法使用 TrackerMOSSE_create 方法,就好像它不存在一样。

我只安装了 opencv-contrib-python 软件包pip install opencv-contrib-python,并且我知道它不能与 opencv-python 在一个虚拟环境中共存,所以我没有那个。

我正在研究 MAC 和 Python 3.8。下面有一个代码。

import cv2


print(cv2.__version__)

cap = cv2.VideoCapture(0)

tracker = cv2.TrackerMOSSE_create()


while True:

    timer = cv2.getTickCount()
    success, img = cap.read()

    fps = cv2.getTickFrequency() / (cv2.getTickCount() - timer)

    cv2.putText(img, str(int(fps)), (75, 50), cv2.FONT_ITALIC, 0.7, (0, 0, 255), 2)
    cv2.imshow("Tracking", img)

    if cv2.waitKey(1) & 0xff == ord('q'):
        break

Run Code Online (Sandbox Code Playgroud)

我的错误是:

Traceback (most recent call last):
  File "/Users/marcin94/PycharmProjects/tracker_objects/main.py", line 8, in <module>
    tracker = cv2.TrackerMOSSE_create()
AttributeError: module 'cv2.cv2' has no attribute 'TrackerMOSSE_create'
Run Code Online (Sandbox Code Playgroud)

小智 6

我在使用 Python 3.7 时遇到了同样的问题,我认为这与 pip 自动安装的 opencv-contrib-python 的最新版本有关。因此,我从此概述安装了版本 3.4.13.47 。

pip install opencv-contrib-python==3.4.13.47
Run Code Online (Sandbox Code Playgroud)

然后它对我有用。祝你好运!