[英]AttributeError: module 'cv2.cv2' has no attribute 'TrackerCSRT_create'
[英]AttributeError: module 'cv2.cv2' has no attribute 'TrackerMOSSE_create'
根據Dan的建議,我嘗試編輯這篇文章Error occurred at setting up MOOSE tracker,我也不知道為什么會出現這個錯誤,因為我安裝了Opencv-contrib-python==4.5.1.48。但是,安裝后,錯誤仍然存在。 唯一的跟蹤器是MIL,但我意識到兩個跟蹤器的使用目的是不同的。 我也嘗試像 Spyke 的建議一樣編寫tracker = cv2.legacy.TrackerMOSSE_create()但沒有任何改變。 這是我的代碼:
import cv2
cap = cv2.VideoCapture(0)
tracker = cv2.TrackerMOSSE_create()
success, img = cap.read()
# select a bounding box ( ROI )
bbox = cv2.selectROI("Tracking", img, False)
tracker.init(img, bbox)
def drawBox(img, bbox):
x, y, w, h = int(bbox[0]), int(bbox[1]), int(bbox[2]), int(bbox[3])
cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 255), 3, 1)
cv2.putText(img, "Tracking", (75, 75), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 255, 0), 2)
while True:
timer = cv2.getTickCount()
success, img = cap.read()
success, bbox = tracker.update(img)
if success:
drawBox(img, bbox)
else:
cv2.putText(img, "Loss", (75, 75), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2)
fps = cv2.getTickFrequency() / (cv2.getTickCount() - timer)
cv2.putText(img, str(int(fps)), (75, 50), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2)
cv2.imshow("Tracking", img)
if cv2.waitKey(1) & 0xff == ord('q'):
break
實際上最新版本的 opencv 現在在舊版 class 下有“TrackerMOSSE_create” 所以,而不是這個
tracker = cv2.TrackerMOSSE_create()
利用:
tracker = cv2.legacy.TrackerMOSSE_create()
如@Spyke 所述, TrackerMOSSE確實位於舊版 class 之下。 但是,而不是:
tracker = cv2.legacy.TrackerMOSSE_create()
我能夠使用另一種語法在 OpenCV 4.5.1 中運行 MOSSE Tracker:
tracker cv2.legacy_TrackerMOSSE.create()
自OpenCV 4.5.1
起, TrackerMOSSE
已移至舊版跟蹤器 API
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.