123456789101112131415161718192021222324252627282930313233343536373839 |
- import numpy as np
- import cv2 as cv
- import sys
- if len(sys.argv) != 2:
- print('Input video name is missing')
- exit()
- cv.namedWindow("tracking")
- camera = cv.VideoCapture(sys.argv[1])
- ok, image=camera.read()
- if not ok:
- print('Failed to read video')
- exit()
- bbox = cv.selectROI("tracking", image)
- tracker = cv.TrackerMIL_create()
- init_once = False
- while camera.isOpened():
- ok, image=camera.read()
- if not ok:
- print 'no image to read'
- break
- if not init_once:
- ok = tracker.init(image, bbox)
- init_once = True
- ok, newbox = tracker.update(image)
- print ok, newbox
- if ok:
- p1 = (int(newbox[0]), int(newbox[1]))
- p2 = (int(newbox[0] + newbox[2]), int(newbox[1] + newbox[3]))
- cv.rectangle(image, p1, p2, (200,0,0))
- cv.imshow("tracking", image)
- k = cv.waitKey(1) & 0xff
- if k == 27 : break # esc pressed
|