无法在OpenCV中使用cv2.TrackerMOSSE_Create()和其他方法[Python]

更新时间:2023-04-02 13:44:36

问题阐述

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

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

我正在开发MAC和Python3.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

我的错误:

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'

精准答案

我在使用Python3.7时也遇到了同样的问题,我认为这与pip自动安装的最新版本的opencv-conrib-python有关。因此,我从此overview安装了3.4.13.47版。

pip install opencv-contrib-python==3.4.13.47

然后它对我起作用了。祝你好运!