我正在尝试用python中的opencv从录制的视频中跟踪对象。我想给每个可见对象一个唯一的对象nr。例如,一个对象进入屏幕并得到nr1,然后第二个对象加入第一个对象并得到nr2,然后第一个对象离开屏幕,但第二个对象仍然可见,并且仍然得到对象nr2而不是1(作为唯一的对象)。我在网上找不到任何关于怎么做的信息。感谢任何帮助(包括代码)。
到目前为止,我编写的用于获取轮廓和绘制对象编号的代码:
cap = cv2.VideoCapture("video.mov")
while True:
flag, frame = cap.read()
cv2.drawContours(frame, contours, -1, (255,0,0) ,1)
for i in range(len(contours)):
cnt = contours[i]
cnt_nr = i+1
x,y,w,h = cv2.boundingRect(cnt)
cv2.putText(frame, str(cnt_nr), ((x+w)/2,(y+h)/2), cv2.FONT_HERSHEY_PLAIN, 1.8, (0,0,0))
cv2.imshow("Tracked frame",frame)
k = cv2.waitKey(0)
if k == 27:
cv2.destroyAllWindows()
break
目前没有回答
相关问题 更多 >
编程相关推荐