
Я использую tesseract для обнаружения текста в различных типах изображений, включая скриншоты, он путается из-за волнистых красных и синих подчеркиваний для предупреждений о правописании и грамматике, как в примере ниже. В итоге я получаю либо отсутствие текста, либо искаженную мешанину.
Я с некоторым успехом искал способы устранения этих линий в предварительной обработке imagemagick, но эти методы стирают любой текст красного или синего цвета, что нежелательно, плюс они долго обрабатываются, а мне нужно обрабатывать более 100 тыс. изображений в день. Я думаю, что, возможно, есть способ обучить tesseract распознавать и отбрасывать эти линии, но я не уверен, как это будет работать.
Я видел руководства о том, как научить tesseract распознавать текст, но я не видел ничего о том, как научить распознавать что-то, что не является текстом. Есть ли способ научить tesseract или сделать что-то с настройкой Leptonica, которую он использует, чтобы игнорировать эти строки?
Если кто-то успешно справился с этим, пожалуйста, дайте мне знать, в противном случае какой подход вы бы рекомендовали?
решение1
В настоящее время я пытаюсь научиться обучать tesseract (застрял на том, как создать файлы lstm для обучения), но я знаю, что вы можете точно настроить ваши обученные данные. Я используюjTessBoxEditorдля исправления ошибок, которые tesseract делает во время OCR, я просто не нашел способа реализовать изменения в форме обучения, но этот инструмент - как раз то, что вам нужно, я думаю.
Используя jTessBoxEditor, вы можете увидеть, как выполняется OCR на вашей картинке, также вы можете редактировать ее, но я все еще застрял на том, как реализовать обучение (все еще жду ответа на форуме и здесь), поэтому я не могу больше помочь, потому что это то, что я проделал, и я не ожидал, что кто-то ответит на ваш вопрос, так как ему 2 года, так что ваша настройка, вероятно, уже устарела. Я пробую tesseract-ocr 4.*, и обучение в новой версии сильно изменилось, но также и инструменты развивались, поэтому ваша проблема решаема с jTessBoxEditor, но я не знаю, как это реализовать, так что это не совсем ответ, а лишь частичный.
Надеюсь, я смог вам помочь, пусть даже немного.