使用--tessdata-dir参数时如何解决初始化错误1 (read_params_file: parameter not found: II*)?
How to solve initialization error 1 (read_params_file: parameter not found: II*) when using --tessdata-dir parameter?
环境与设置
操作系统: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 等。
所以我发现的 teaseract 的 "Suse 12 SP1 x86_64" 的最新且唯一官方支持的版本是 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: […]
火车数据和语言
火车数据已手动下载自:
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 将 'deu' 和 'eng' 检测为可用语言
$ tesseract --list-langs
List of available languages (2):
deu
eng
应用与问题
该软件应用程序是基于Spring 引导框架构建的。执行 tesseract 命令的代码看起来……喜欢:
Runtime.getRuntime().exec(new String[] {
"tesseract",
"--tessdata-dir", "/usr/share/tessdata",
"-l", lang.getISO3Language(),
inputTiff.toAbsolutePath().toString(), extractedcntPath });
应用程序日志文件说
2016-12-30 20:30:02,320 [https-jsse-nio-8443-exec-7] WARN PDFContentExtractor - read_params_file: parameter not found: II*
使用 tessdata 目录执行 tesseract 失败
$ tesseract --tessdata-dir /usr/share/tessdata -l deu inputPdf6632237754781472255.tiff out4
read_params_file: parameter not found: II*
在没有 tessdata 目录的情况下执行 tesseract 效果很好
$ tesseract -l deu input.tiff out5
Tesseract Open Source OCR Engine v3.02.02 with Leptonica
问题与想法
- 为什么 tesseract 在没有 --tessdata-dir 参数集的情况下运行良好并检测可用语言?
- 为什么使用 --tessdata-dir 参数集时 teasseract 在初始化期间崩溃?
- 运行 tesseract with/without --tessdata-dir 参数集有什么区别吗?
我该怎么做才能解决这个问题?
- 安装更新版本的 tesseract?
- 从源代码编译一个版本?
- 使用其他traindata/tessdata?
- 运行 没有 --tessdata-dir 参数的 tesseract?
如果有人能帮助我在接下来的一周内解决这个问题,那不仅会让我开心,也会让我们整个团队开心。
非常感谢您!
-吕迪格
该命令开关在 3.04 版本之前不可用。执行 tesseract
命令将显示当前版本支持哪些命令选项。
https://github.com/tesseract-ocr/tesseract/wiki/Command-Line-Usage
环境与设置
操作系统: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 等。 所以我发现的 teaseract 的 "Suse 12 SP1 x86_64" 的最新且唯一官方支持的版本是 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: […]
火车数据和语言
火车数据已手动下载自: 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 将 'deu' 和 'eng' 检测为可用语言
$ tesseract --list-langs
List of available languages (2):
deu
eng
应用与问题
该软件应用程序是基于Spring 引导框架构建的。执行 tesseract 命令的代码看起来……喜欢:
Runtime.getRuntime().exec(new String[] {
"tesseract",
"--tessdata-dir", "/usr/share/tessdata",
"-l", lang.getISO3Language(),
inputTiff.toAbsolutePath().toString(), extractedcntPath });
应用程序日志文件说
2016-12-30 20:30:02,320 [https-jsse-nio-8443-exec-7] WARN PDFContentExtractor - read_params_file: parameter not found: II*
使用 tessdata 目录执行 tesseract 失败
$ tesseract --tessdata-dir /usr/share/tessdata -l deu inputPdf6632237754781472255.tiff out4
read_params_file: parameter not found: II*
在没有 tessdata 目录的情况下执行 tesseract 效果很好
$ tesseract -l deu input.tiff out5
Tesseract Open Source OCR Engine v3.02.02 with Leptonica
问题与想法
- 为什么 tesseract 在没有 --tessdata-dir 参数集的情况下运行良好并检测可用语言?
- 为什么使用 --tessdata-dir 参数集时 teasseract 在初始化期间崩溃?
- 运行 tesseract with/without --tessdata-dir 参数集有什么区别吗?
我该怎么做才能解决这个问题?
- 安装更新版本的 tesseract?
- 从源代码编译一个版本?
- 使用其他traindata/tessdata?
- 运行 没有 --tessdata-dir 参数的 tesseract?
如果有人能帮助我在接下来的一周内解决这个问题,那不仅会让我开心,也会让我们整个团队开心。
非常感谢您!
-吕迪格
该命令开关在 3.04 版本之前不可用。执行 tesseract
命令将显示当前版本支持哪些命令选项。
https://github.com/tesseract-ocr/tesseract/wiki/Command-Line-Usage