Я успешно запустил deque следующим образом для создания дорожки объекта:
from collections import deque
...
pts = deque(maxlen=args["buffer"])
....
pts.appendleft(center)
# loop over the set of tracked points
for i in range(1, len(pts)):
# if either of the tracked points are None, ignore
# them
if pts[i - 1] is None or pts[i] is None:
continue
# otherwise, compute the thickness of the line and
# draw the connecting lines
thickness = int(np.sqrt(args["buffer"] / float(i + 1)) * 2.5)
cv2.line(frame, pts[i - 1], pts[i], (0, 0, 255), thickness)
Таким образом, формат каждой записи в pts представляет собой набор (x, y), и он сохраняет длина любого «буфера» была установлена на.
Теперь я хотел бы отследить несколько объектов, поэтому «центр» теперь представляет собой numpy массив центральных точек, например:
center = [[x1, y1], [x2, y2]]
У меня куча проблем, чтобы заставить его работать с deque. Я хотел бы сделать так, чтобы pts также отслеживал отдельные центральные точки до длины «буфера».
Большое спасибо за любую помощь!