Как передать File Stream в Tesseract - PullRequest
0 голосов
/ 11 марта 2019

Во всех примерах, которые я видел, включая тот, с которым я работал, вы взаимодействуете с Tesseract, используя путь к файлу.

Однако, поскольку мне нужно использовать Tesseract в веб-службе, пользователь передаст поток Base64Encoded методу веб-службы, а не строке пути к файлу.

До сих пор я не смог найти правильный метод, позволяющий мне использовать ByteArrayOutputStream или объект File.

Путь к файлу (строка) читается с помощью: pixRead (), но этот метод не работает с объектом File или ByteArrayOutputStream.

-

Я также попробовал библиотеку tess4j в качестве альтернативы, так как она использует объект File (я пробовал каждую выпущенную версию в тестировании), но получил только сбойную JVM. Другие тоже получили это сообщение (но без разрешения), так что теперь я вернулся к обычному Тессеракту.

-

Может, кто-нибудь даст мне пример кода, как передать File Object или ByteArrayOutputStream в Tesseract, чтобы я мог прочитать изображение?

Спасибо.

1 Ответ

0 голосов
/ 12 марта 2019

Существует как минимум 2 варианта, чтобы избежать использования пути к файлу:

  • командная строка : исполняемый файл tesseract принимает образ из sdtin.Вы можете попробовать что-то вроде этого: curl "http://d2jaiao3zdxbzm.cloudfront.net/wp-content/uploads/figure-65.png" | tesseract - -.

  • тессеракт API : вы можете установить данные изображения для двигателя тессеракта с помощью SetImage напрямую.Я не знаком с Java, но похоже, что он также доступен в tess4j как TessBaseAPISetImage .

...