maxarea = int(args[3]) elif len(args) > 1: thresh = int(args[1]) starttime = time.time() while True: if scorer.poll() == False: continue frame = scorer.get_frame() if frame == None: continue bgr = frame.get_bgr() bgr = cv2.cvtColor(bgr, cv2.COLOR_BGR2GRAY) bgr = cv2.cvtColor(bgr, cv2.COLOR_GRAY2BGR) x1, y1, x2, y2 = scorer.get_roi_rect_by_index(0) x1l, y1l, x2l, y2l = scorer.get_roi_line_by_index(0) width = int(x2 - x1) height = int(y2 - y1) ret, binary_img = cv2.threshold(bgr, thresh, 255, cv2.THRESH_BINARY) crop_img = binary_img[y1:y2, x1:x2] binary_crop_img = cv2.cvtColor(crop_img, cv2.COLOR_BGR2GRAY) im2, contours, hierarchy = cv2.findContours(binary_crop_img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) countcnt = 0 for h, cnt in enumerate(contours): if cv2.contourArea(cnt) > maxarea: continue elif cv2.contourArea(cnt) > minarea: countcnt = countcnt + 1
if scorer.poll() == False: continue frame = scorer.get_frame() if frame == None: continue bgr = frame.get_bgr() for i in range(scorer.get_roi_circle_len()): x, y, radius = scorer.get_roi_circle_by_index(i) bgr = cv2.circle(bgr, (x, y), radius, (0, 0, 255), 5) for i in range(scorer.get_roi_line_len()): x1, y1, x2, y2 = scorer.get_roi_line_by_index(i) bgr = cv2.line(bgr, (x1, y1), (x2, y2), (255, 0, 0), 5) for i in range(scorer.get_roi_rect_len()): x1, y1, x2, y2 = scorer.get_roi_rect_by_index(i) bgr = cv2.rectangle(bgr, (x1, y1), (x2, y2), (0, 255, 0), 5) cv2.imshow("bgr", bgr) if cv2.waitKey(1) & 0xFF == ord('q'): break # if cnt % 20 == 0: # img_list.append(bgr) # # cnt = cnt + 1