Как улучшить точность распознавания?
Я пытаюсь создать модуль извлечения карт оценок, фон меняется каждый раз, и я пытался использовать много подходов, но самый чистый способ удалить фон из текста - это инвертировать изображение. Но проблема в том, что OCR не обнаруживает символы в изображении много раз.
Я очень новый opencv,ocr,tesseract и даже python выполнил некоторую домашнюю работу и решил попробовать и собрать ее через 2-3 дня после того, как попробовал несколько разных вещей. Когда я попытался преобразовать в черно-белые или другие вещи, главная проблема было много фонового шума, независимо от того, что я делал, шум оставался, и это приводило к появлению многих извлекаемых символов.
я использовал sunnypage 2.7
создать новый набор обученных данных для tesseract, а затем при попытке тестирования с ним результаты были несовместимы, но при ручном выборе областей ранее нераспознанная часть изображения начала преобразовываться в алфавиты.
Это немного неловко, но после того, как испытать разные вещи, код для OCR был уменьшен до простого инвертирования текста и сканирования изображения для получения результата OCR, список под изображением показывает, что весь текст был распознан по изображению, а текст не показывает ошибку обнаружить текст. OCR загрузка приведенного ниже примера скриншота
img_cropped = cv2.bitwise_not(img_cropped)
s=settings.MEDIA_ROOT
cv2.imwrite(os.path.join(s[:-5],'R6scoreex\static\R6scoreex\cropped\uploads',"B&W"+i+".png"), img_cropped)
result = pytesseract.image_to_string(Image.open(os.path.join(s[:-5],'R6scoreex\static\R6scoreex\cropped\uploads',"B&W"+i+".png")))
Я знаю, что мой вопрос очень широк для многих и может быть закрыт, или за него проголосовали, и я здесь, в SO, задавал много вопросов о том, как улучшить точность тессеракта.
Я хочу знать, как подойти к этой проблеме для получения окончательного результата с точностью 99,9%.