Tess4j exeption

475
19 февраля 2017, 09:14

Доброго времени суток! Пытаюсь реализовать пример использования Tess4j, столкнулся вот с таким исключением:

    SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/C:/Users/oleg/workspace/ocr/lib/logback-classic-1.1.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/C:/Users/oleg/workspace/ocr/lib/logback-classic-1.2.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
    SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
    Exception in thread "main" java.lang.Error: Invalid memory access
at com.sun.jna.Native.invokePointer(Native Method)
at com.sun.jna.Function.invokePointer(Function.java:470)
at com.sun.jna.Function.invoke(Function.java:404)
at com.sun.jna.Function.invoke(Function.java:315)
at com.sun.jna.Library$Handler.invoke(Library.java:212)
at com.sun.proxy.$Proxy1.TessBaseAPIGetUTF8Text(Unknown Source)
at net.sourceforge.tess4j.Tesseract.getOCRText(Tesseract.java:436)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:291)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:212)
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:196)
at ocr.TesseractExample.main(TesseractExample.java:19)
Error opening data file ./tessdata/ru.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
Failed loading language 'ru'
Tesseract couldn't load any languages!

Работаю на Windows-x64, задал системную переменную: TESSDATA_PREFIX=C:\Users\oleg\workspace\ocr\tessdata. Структура проекта на скрине во вложении .

Помогите победить ошибку, пожалуйста!

Answer 1

Все оказалось проще: 1. переменная TESSDATA_PREFIX должна указывать на каталог, в котором лежит tessdata. 2. в каталоге tessdata должны лежать данные для русского языка, если документ на русском. 3. самое важное - файл rus.traineddata скачанный с github нужно переименовать в ru.traineddata.

Только после этого заработает.

READ ALSO
Как второй раз запустить поток?

Как второй раз запустить поток?

Дело в том что поток с первого раза корректно срабатывает и через цикл я останавливаю этот потокПотом через какое то время обратно запускаю...

434
Изменение TextView в Tabbed Activity в зависимости от даты

Изменение TextView в Tabbed Activity в зависимости от даты

Нужно, чтобы textView в фрагменте из Tabbed Acticity менялся в зависимости от даты в календаре, вот код этого окна: Tab1java

335
Передача массива изображений по сети

Передача массива изображений по сети

ЗдравствуйтеНеожиданно столкнулся с проблемой

325
Java создать файл в папке

Java создать файл в папке

Мне понадобилось создать файл в папке, но какие бы методы не пробовал — пишут ошибкуЗвучат они все примерно так:

475