В настоящее время я пытаюсь получить Тессеракта андроид инструментыТессеракт-Android-Tools изменения и модификации успешно скомпилирован (я думаю), но вывод
http://code.google.com/p/tesseract-android-tools/
работать для меня на Android. Я занимаюсь этим около недели безрезультатно.
Я бегу Win 7 64 бит с cygwin.
Я выполнил инструкции в файле readme и внес много изменений в файлы Android.mk. В основном это было добавление косой черты к пути, поэтому мне пришлось вручную жестко закодировать пути отдельных файлов или переместиться в расположение файлов в 3 пакетах, чтобы получить его для сборки. Однако в конце сборки я не получил сообщение «Build Sucessful», но были созданы файлы .so.
Я портировал его, чтобы затмить как есть, и использовал следующий код, чтобы получить извлеченный текст.
private static final String TESSBASE_PATH = "/mnt/sdcard/";
Bitmap imageFile = BitmapFactory.decodeFile(image.getAbsolutePath());
TessBaseAPI baseApi = new TessBaseAPI();
if(baseApi.init(TESSBASE_PATH, "eng")){
System.out.println("Tessbase initialized");
baseApi.setDebug(true);
baseApi.setImage(bmp);
String recognizedText = baseApi.getUTF8Text();
System.out.println("---------------------output-------------------");
System.out.println("recognizedText<"+recognizedText+">");
}
else{
System.out.println("Tessbase initialization failure.");
}
Сначала я получаю сообщение об ошибке говорящее
«функции Bitmap не доступны; библиотека должна быть скомпилированные под андроид-8 НДК»
После взглянуть на tessbaseapi .cpp-файл. Я понял, что для компиляции правильной функции необходим определенный флаг компилятора. Этот флаг был -DHAS_JNIGRAPHICS. Я думаю, что это означает, что библиотека графики JNI должна присутствовать.
Однако программа все еще не компилируется, поскольку функция memcpy() в только что скомпилированном методе не найдена. Я исправил это, изменив реальный код на C++, чтобы включить
Наконец, программа полностью скомпилирована (все еще не получалось сообщение BUILD SUCCESSFUL), и когда я ее запускал, я вообще не получал никакого вывода. Это может быть проблемой с файлом eng.traineddata или может быть проблемой в фактическом коде.
Есть ли что-либо, что я сделал неправильно? Может ли кто-нибудь связать меня и файл eng.traineddata, который они знают, работает и изображение, которое работает с ним?
Заранее благодарен!
Я действительно закончил это. Я использовал тот же проект tess-two на github и построил его с ubuntu. Он работает именно так, как я этого хочу. Я думаю, что это может быть проблемой с библиотекой инструментов tesseract android. Я бы рекомендовал использовать tess-two для тех, кто испытывает подобные трудности. – eaglzfn37