From sztu 自动化专业的小菜鸡。
本篇将介绍计算机视觉的物体追踪,基于python的opencv。
实战阶段,运用opencv内置的函数实现具体的物体追踪,这儿采用的原理是截取第一帧选取所要追踪的物体,去具体追踪它。
1.代码展示
import cv2
cap = cv2.VideoCapture(0)
#tracker = cv2.legacy.TrackerMOSSE_create()
tracker = cv2.legacy.TrackerCSRT_create()
success,img = cap.read()
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_COMPLEX, 0.7, (0, 255, 0), 2)
while True:
timer = cv2.getTickFrequency()
success,img = cap.read()
success,bbox = tracker.update(img)
print(bbox)
if success:
drawBox(img,bbox)
else:
cv2.putText(img,"