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

更新時間:2024-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有關。因此,我從此安裝了3.4.13.47版。

pip install opencv-contrib-python==3.4.13.47

然后它對我起作用了。祝你好運!