У меня есть отсканированная страница, которую я пытаюсь определить и проанализировать числа на изображении (строка за строкой). Для этого я использую Python Pytessarect со следующим кодом:
img = cv2.imread('image.jpg',0)
ret,thresh1 = cv2.threshold(img,110,255,cv2.THRESH_TOZERO)
scan_config = r'--oem 3 --psm 6'
extracted_text = pytesseract.image_to_string(thresh1, config=scan_config)
input image.jpg:
input image.jpg
К сожалению, результат неудовлетворительный, потому что, как вы можете видеть, цифры в 4-м столбце частично стерты (человеческий глаз может идентифицировать цифры, но пороговый алгоритм делает это еще хуже):
006442000180
006354924010
005900000461
062891556156
006*3*00000261
006900000261
У кого-то есть представление, как предварительно обработать изображение, чтобы алгоритм смог идентифицировать даже партии стертых цифр? Кстати, второй аргумент пороговой функции жестко запрограммирован (110), и он, вероятно, не будет соответствовать каждому изображению, это зависит от качества фотографии, есть ли способ динамически генерировать значение или использовать альтернативу пороговый подход (возможно, с использованием фильтров OpenCV)?