Chu*_*àng 7 python opencv moose tracker
按照 Dan 的建议,我尝试编辑这篇文章 Error generated at setup 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
Run Code Online (Sandbox Code Playgroud)
小智 6
实际上最新版本的opencv现在在遗留类下有“TrackerMOSSE_create”所以,而不是这个
tracker = cv2.TrackerMOSSE_create()
Run Code Online (Sandbox Code Playgroud)
使用:
tracker = cv2.legacy.TrackerMOSSE_create()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9186 次 |
| 最近记录: |