def find_main_countour(image): cnts, hierarchy = cv.findContours(image, cv.RETR_CCOMP, cv.CHAIN_APPROX_SIMPLE) C = None if cnts is not None and len(cnts) > 0: C = max(cnts, key = cv.contourArea) if C is None: return None, None rect = cv.minAreaRect(C) box = cv.boxPoints(rect) box = np.int0(box) box = geom.order_box(box) return C, box
cv2.THRESH_BINARY_INV) # invert the pixels of the image frame # im2,contours,hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) # im2,contours,hierarchy = cv2.findContours(th2, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) contours, hierarchy = cv2.findContours(th2, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) global_contours = copy.deepcopy(contours) C = None if contours is not None and len(contours) > 0: C = max(contours, key=cv2.contourArea) if C is not None: rect = cv2.minAreaRect(C) box = cv2.boxPoints(rect) box = np.int0(box) box = geom.order_box(box) global_box = copy.deepcopy(box) p1, p2 = geom.calc_box_vector(box) (angle, shift) = (0, 0) (gc_x, gc_y) = (0, 0) if DIRECTION_STATE == bconf.DIRECTION.LEFT: angle = geom.get_horz_angle(p1, p2, W, H) shift = geom.get_vert_shift(p1[0], H) if angle < 45: DIRECTION_STATE = bconf.DIRECTION.DOWN elif angle > 135: DIRECTION_STATE = bconf.DIRECTION.UP gc_x = centerPos[0] - crop_LRFB[0]