2017-01-01 9 views
0

Environment & НастройкаКак решить ошибку инициализации 1 (read_params_file: параметр не найден: II *) при использовании параметра --tessdata-dir?

Операционная система: Suse Linux Enterprise Server 12 SP 1

$ uname –a 
Linux 3.12.62-60.64.8-default #1 SMP Tue Oct 18 12:21:38 UTC 2016 (42e0a66) x86_64 x86_64 x86_64 GNU/Linux 

Поскольку эта среда управляется, я не могу обновить системные библиотеки, как Glibc и т.д. Так новейший и только официальная поддерживаемая версия для «Suse 12 SP1 x86_64» от teaaseract, которую я нашел, - 3.02.

Установленные пакеты:

libgif4-4.1.6-34.1.1.x86_64.rpm 
liblept3-1.69-16.1.x86_64.rpm 
libtesseract3-3.02.02-3.2.1.x86_64.rpm 
libwebp4-0.3.1-34.1.x86_64.rpm 
tesseract-3.02.02-59.1.x86_64.rpm 

тессеракт версия

$ tesseract –v 
tesseract 3.02.02 
    leptonica-1.69 
     libgif 4.1.6 : libjpeg 8d : libpng 1.5.22 : libtiff 4.0.6 : zlib 1.2.8 

Выпустите детали

$ zypper info tesseract 
Information for package tesseract: 
---------------------------------- 
Repository: @System 
Name: tesseract 
Version: 3.02.02-59.1 
Arch: x86_64 
Vendor: obs://build.opensuse.org/home:koprok 
Support Level: unknown 
Installed: Yes 
Status: up-to-date 
Installed Size: 3.8 MiB 
Summary: Open Source OCR Engine 
Description: […] 

Traindata & Языки

Traindata были загружены вручную из: https://sourceforge.net/projects/tesseract-ocr-alt/files/tesseract-ocr-3.02.eng.tar.gz/download https://sourceforge.net/projects/tesseract-ocr-alt/files/tesseract-ocr-3.02.deu.tar.gz/download

и файлы были извлечены /usr/share/tessdata/

$ ls -la /usr/share/tessdata/ 
drwxr-xr-x 1 root root  230 Dec 31 16:37 configs/ 
-rw-r--r-- 1 root root 2438081 Dec 30 15:31 deu.traineddata 
-rw-r--r-- 1 root root 171918 Dec 30 20:16 eng.cube.bigrams 
-rw-r--r-- 1 root root  38 Dec 30 20:16 eng.cube.fold 
-rw-r--r-- 1 root root  181 Dec 30 20:16 eng.cube.lm 
-rw-r--r-- 1 root root 857304 Dec 30 20:16 eng.cube.nn 
-rw-r--r-- 1 root root  254 Dec 30 20:16 eng.cube.params 
-rw-r--r-- 1 root root 13020078 Dec 30 20:16 eng.cube.size 
-rw-r--r-- 1 root root 2444187 Dec 30 20:16 eng.cube.word-freq 
-rw-r--r-- 1 root root  996 Dec 30 20:16 eng.tesseract_cube.nn 
-rw-r--r-- 1 root root 21876572 Dec 30 20:16 eng.traineddata 
drwxr-xr-x 1 root root  88 Dec 31 16:37 tessconfigs/ 

тессеракт обнаруживает 'ДЭУ' и 'рус', как доступные языки

$ tesseract --list-langs 
List of available languages (2): 
deu 
eng 

Приложение & Задача

Программное обеспечение построено на основе Spring Boot framework. Код, выполняющий команду tesseract, выглядит sth. как:

Runtime.getRuntime().exec(new String[] { 
"tesseract", 
"--tessdata-dir", "/usr/share/tessdata", 
"-l", lang.getISO3Language(), 
inputTiff.toAbsolutePath().toString(), extractedcntPath }); 

Appication файл_журнала говорит

2016-12-30 20:30:02,320 [https-jsse-nio-8443-exec-7] WARN PDFContentExtractor - read_params_file: parameter not found: II* 

Выполнение тессеракт с tessdata реж не удается

$ tesseract --tessdata-dir /usr/share/tessdata -l deu inputPdf6632237754781472255.tiff out4 
read_params_file: parameter not found: II* 

При выполнении Tesseract, без tessdata реж работает хорошо

$ tesseract -l deu input.tiff out5 
Tesseract Open Source OCR Engine v3.02.02 with Leptonica 

Вопросы & Идеи

  • Почему тессеракт работает хорошо и обнаружить доступные языки без --tessdata-Dir набора параметров?
  • Почему во время инициализации при столкновении с параметром -tessdata-dir возникает авария?
  • Есть ли разница между запуском tesseract с/без параметра -tessdata-dir набора параметров?

Что мне делать, чтобы исправить эту проблему?

  • Установить новую версию tesseract?
  • Скомпилировать версию из источников?
  • Использовать другие traindata/tessdata?
  • Запустить tesseract без параметра -tessdata-dir param?

Если кто-нибудь может помочь мне решить эту проблему на предстоящей неделе, это не только сделает меня счастливым, но скорее всей нашей командой.

спасибо, что заблаговременно!
-Rüdiger

ответ

1

Этот командный переключатель недоступен до версии 3.04. Выполнение команды tesseract покажет, какие параметры команд поддерживаются для текущей версии.

https://github.com/tesseract-ocr/tesseract/wiki/Command-Line-Usage

+0

большое спасибо. что привело нас к правильному пути. Мы попытаемся использовать 'export TESSDATA_PREFIX = Ruediger

+0

Использование env var вместо параметра разрешило проблему. Еще раз спасибо за ваш быстрый ответ @nguyenq – Ruediger