I am trying to track objects with opencv in python from recorded video. I want to give a unique object nr to each visible object when it appears. For example, one object enters the screen and gets nr1, then a second joins the first and gets nr2, then the first object leaves the screen but the second is still visible and still gets object nr2 and not 1 (being the only object). I can't find any information on how to do this online. Any help (including code) is appreciated.
The code I have written so far for getting the contours and drawing object numbers:
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