一种解决的方法是使用范围内阈值处理
The result will be:
for image in image_list: bgr_image = cv2.imread(image) hsv_image = cv2.cvtColor(bgr_image, cv2.COLOR_BGR2HSV) mask = cv2.inRange(hsv_image, array([0, 0, 0]), array([165, 10, 255])) kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 3)) dilate = cv2.dilate(mask, kernel, iterations=1) thresh = cv2.bitwise_and(dilate, mask) text = pytesseract.image_to_string(thresh, config='--psm 6') print(text)第二种方式是应用全局阈值
for image in image_list: bgr_image = cv2.imread(image) gray_image = cv2.cvtColor(bgr_image, cv2.COLOR_BGR2GRAY) thresh = cv2.threshold(gray_image, 127, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1] text = pytesseract.image_to_string(thresh, config='--psm 6') print(text)