filenames.sort(key=get_int) dict_keys = [] groups = defaultdict(list) for f in filenames: if ".pkl" in f: continue frame_id = f.split("_")[1] if not frame_id in dict_keys: dict_keys.append(frame_id) groups[frame_id].append(f) n_frames = len(groups) tracker = Tracker() tracker.fillFrames(n_frames, dict_keys) # Generate bounding boxes ------------------------------------------ for f in range(0, n_frames): key = dict_keys[f] frame = tracker.getFrame(f) #img_diff = cv2.imread("differences/anim_{id}_2k_diff.png".format(id=key)) #img = np.zeros_like(img_diff) #img = cv2.add(img, img_diff) for c in range(0, len(groups[key])): mask = cv2.imread(dir_path + groups[key][c], cv2.IMREAD_GRAYSCALE) contours = cv2.findContours(mask, 2, 2)[1][0] #x, y, w, h = cv2.boundingRect(contours) #img = cv2.rectangle(img, (x, y), (x+w, y+h), (0,255,0), 2) frame.appendObject(cv2.boundingRect(contours)) #cv2.imwrite("bboxes/{id}.png".format(id=key), img)