Загрузка и использование tessData-best для репозитория github tesseract-ocr значительно улучшили мою точность для английского языка на Tess4j 3.8.4. Но чтобы использовать эти обученные данные для других языков, мне пришлось перейти на Tess4J 4.0.0. Но когда я это сделал, у меня появилась следующая ошибка в этой строке
TessBaseAPI api = TessAPI1.TessBaseAPICreate();
Exception in thread "main" java.lang.UnsatisfiedLinkError: The specified module could not be found.
at com.sun.jna.Native.open(Native Method)
at com.sun.jna.Native.open(Native.java:1759)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:260)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398)
at com.sun.jna.Native.register(Native.java:1396)
at com.sun.jna.Native.register(Native.java:1156)
at net.sourceforge.tess4j.TessAPI1.<clinit>(TessAPI1.java:41)
at OCR.confidenceWord(OCR.java:106)
at OCR.processImg(OCR.java:381)
at test.main(test.java:10)
У меня 64-битная Windows 8.1 работает на моем компьютере с 64-битной JVM. У меня установлен распространяемый пакет VC++ 2015. Я проверил dependency walker, и, похоже, ни одна DLL не отсутствует. Установив системное свойство "jna.debug.load" на "true", я вижу, что он правильно ищет и получает "libtesseract400" во временной папке. Кто-нибудь смог решить эту ошибку?
@JosephPeter Как видно в обходчике зависимостей; libtesseract400 - это 64-битная dll. Также он распаковывается в папку «win32-x86-64». Так что, думаю, проблема не в этом. Есть другие предложения?




эта ошибка может возникнуть из-за того, что вы пытаетесь загрузить 32-битную dll в 64-битную JVM. Попробуйте использовать 32-битную установку JVM, и ошибка исчезнет. Я тоже страдал от этой проблемы раньше