Форум программистов, компьютерный форум CyberForum.ru

Tesseract OCR - Android

Войти
Регистрация
Восстановить пароль
 
Lo0ny
2 / 2 / 0
Регистрация: 26.12.2013
Сообщений: 21
13.05.2016, 15:24     Tesseract OCR #1
Java
1
2
3
4
5
6
7
8
9
10
private static final String appDir = Environment.getExternalStorageDirectory().toString() + "/11/";
private static final String lang = "rus";
...
TessBaseAPI tessBaseApi = new TessBaseAPI();
tessBaseApi.init(appDir, lang);
tessBaseApi.setImage(bitmap);
String extractedText = tessBaseApi.getUTF8Text();  //CRASH
tessBaseApi.end();
textView.setText(extractedText);
...
при попытке получить текст используя распознавание приложение крашится, в чем может быть проблема?
Путь к /tessdata/rus.traineddata указан верно(находится "/storage/emulated/0/11/tessdata/rus.traineddata"), bitmap изображение имеется.

логи:
05-13 15:09:57.301 31941-31941/? I/art: Late-enabling -Xcheck:jni
05-13 15:09:57.414 31941-31974/com.example.lo0ny.camera_test D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
05-13 15:09:57.454 31941-31974/com.example.lo0ny.camera_test I/Adreno-EGL: <qeglDrvAPI_eglInitialize:379>: QUALCOMM Build: 10/21/15, 369a2ea, I96aee987eb
05-13 15:09:57.455 31941-31974/com.example.lo0ny.camera_test I/OpenGLRenderer: Initialized EGL, version 1.4
05-13 15:09:59.437 31941-31974/com.example.lo0ny.camera_test D/OpenGLRenderer: endAllStagingAnimators on 0xb39e4b80 (RippleDrawable) with handle 0xaedf7f80
05-13 15:10:04.632 31941-31941/com.example.lo0ny.camera_test D/myLogs: Photo uri: null
05-13 15:10:04.634 31941-31941/com.example.lo0ny.camera_test D/myLogs: bitmap 153 x 204
05-13 15:10:04.697 31941-31941/com.example.lo0ny.camera_test E/Tesseract(native): Could not initialize Tesseract API with language=rus!
05-13 15:10:04.707 31941-31941/com.example.lo0ny.camera_test A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x8 in tid 31941 (0ny.camera_test)


P.S. за основу брал пост с харбра https://habrahabr.ru/post/282582/
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
резкий
1896 / 1630 / 508
Регистрация: 12.05.2014
Сообщений: 5,864
Завершенные тесты: 1
13.05.2016, 15:42     Tesseract OCR #2
а почему бы не положить этот файл в ассеты?
как предложено в статье
Lo0ny
2 / 2 / 0
Регистрация: 26.12.2013
Сообщений: 21
13.05.2016, 15:43  [ТС]     Tesseract OCR #3
Он и там есть, просто на устройстве он лежит в отдельной папке
Паблито
резкий
1896 / 1630 / 508
Регистрация: 12.05.2014
Сообщений: 5,864
Завершенные тесты: 1
13.05.2016, 15:49     Tesseract OCR #4
если оно "там и есть" то зачем указывать путь к другой папке?
Lo0ny
2 / 2 / 0
Регистрация: 26.12.2013
Сообщений: 21
13.05.2016, 16:04  [ТС]     Tesseract OCR #5
Хорошо, если так, то как мне получить путь к этому файлу на устройстве?

Добавлено через 3 минуты
Да, и собственно, какая разница в данном случае что файл на устройстве будет дублироваться, решить проблему это врядли поможет.
Паблито
резкий
1896 / 1630 / 508
Регистрация: 12.05.2014
Сообщений: 5,864
Завершенные тесты: 1
13.05.2016, 16:10     Tesseract OCR #6
я подумал что в init можно передавать не только путь к файлу, но и inputstream

тогда, разрешение в манифесте есть?
XML
1
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
какая версия андроида? на 6-й версии с доступами все печально
Lo0ny
2 / 2 / 0
Регистрация: 26.12.2013
Сообщений: 21
13.05.2016, 16:12  [ТС]     Tesseract OCR #7
разрешения в манифесте прописаны, версия андройда 6.0.1
Паблито
резкий
1896 / 1630 / 508
Регистрация: 12.05.2014
Сообщений: 5,864
Завершенные тесты: 1
13.05.2016, 16:21     Tesseract OCR #8
могу ошибаться, но начиная с Marshmallow нет доступа к внешним файлам напрямую
я бы этот файл положил в ассеты, а при запуске приложения - копировал в кеш или папку files приложения
туда точно будет доступ

Добавлено через 41 секунду
и андроИд пишется через "и" https://ru.wikipedia.org/wiki/Android
Lo0ny
2 / 2 / 0
Регистрация: 26.12.2013
Сообщений: 21
13.05.2016, 16:29  [ТС]     Tesseract OCR #9
Помогло прямо на телефоне в настройках приложения разрешить доступ к памяти, а можно как-либо это программно разрешить?
P.S. приношу извинения всем граммар-наци)
Паблито
резкий
1896 / 1630 / 508
Регистрация: 12.05.2014
Сообщений: 5,864
Завершенные тесты: 1
13.05.2016, 16:33     Tesseract OCR #10
под рукой нет нужной версии андроида, поэтому http://developer.android.com/intl/ru...equesting.html
или подождем, может подтянутся те, кто знает точно как это работает )
korshun84
13 / 68 / 14
Регистрация: 08.07.2014
Сообщений: 349
03.10.2016, 13:41     Tesseract OCR #11
Апну тему, что бы новую не создавать.
Решил попользовать сабжевую библиотеку, но на выходе вообще ересь полная получается, просто набор символов и знаков. На входе обычный печатный текст, качеством даже лучше, чем в статье у автора.
Файл rus подключился, ошибок нет.
Есть тут реальные пользователи, что не так делаю ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2016, 13:48     Tesseract OCR
Еще ссылки по теме:

Ocr в PHP PHP
Не могу собрать tesseract на MinGW
Как пошагово подключить Tesseract OCR к Anroid Studio? Android
Как использовать tesseract? C++ Qt

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Lo0ny
2 / 2 / 0
Регистрация: 26.12.2013
Сообщений: 21
03.10.2016, 13:48  [ТС]     Tesseract OCR #12
С русской библиотекой очень много проблем, попробуй потестить на eng, если там все норм будет, нужно просто сменить библиотеку.
Yandex
Объявления
03.10.2016, 13:48     Tesseract OCR
Ответ Создать тему
Опции темы

Текущее время: 05:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru