
开源 OCR 引擎,采用 LSTM 神经网络模型,可通过 CLI、C/C++ 库和 API 从图像和扫描文档中提取 100 多种语言的文本。
├── langdata_lstm
│ ├── common.punc
│ ├── common.unicharambigs
│ ├── desired_bigrams.txt
│ ├── eng
│ │ ├── desired_characters
│ │ ├── eng.config
│ │ ├── eng.numbers
│ │ ├── eng.punc
│ │ ├── eng.singles_text
│ │ ├── eng.training_text
│ │ ├── eng.unicharambigs
│ │ ├── eng.wordlist
│ │ └── okfonts.txt
│ ├── extended
│ │ └── extended.config
│ ├── extendedhin
│ │ └── extendedhin.config
│ ├── font_properties
│ ├── forbidden_characters_default
│ ├── hin
│ │ ├── hin.config
│ │ ├── hin.numbers
│ │ ├── hin.punc
│ │ └── hin.wordlist
│ ├── kan
│ │ └── kan.config
│ ├── kor
│ │ └── kor.config
│ ├── osd
│ │ └── osd.unicharset
│ └── radical-stroke.txt
├── tessdata
│ ├── ara.traineddata
│ ├── chi_tra.traineddata
│ ├── eng.traineddata
│ ├── heb.traineddata
│ ├── hin.traineddata
│ ├── jpn.traineddata
│ ├── kmr.traineddata
│ ├── osd.traineddata
│ └── vie.traineddata
├── tessdata_best
│ ├── eng.traineddata
│ ├── fra.traineddata
│ ├── kmr.traineddata
│ └── osd.traineddata
├── tessdata_fast
│ ├── eng.traineddata
│ ├── kmr.traineddata
│ ├── osd.traineddata
│ └── script
│ └── Latin.traineddata
└── tesseract
...
├── test
├── unittest
│ └── third_party/googletest
└── VERSION
默认情况下,CMake 使用 unittest/third_party/googletest 子模块:
git submodule update --init unittest/third_party/googletest
cmake -S . -B build -DBUILD_TESTS=ON
cmake --build build
ctest --test-dir build --output-on-failure
要改用已安装的 GoogleTest 包,请同时安装 GoogleTest 和
GoogleMock(例如在 Debian/Ubuntu 上安装 libgtest-dev 和 libgmock-dev),
并使用 -DUSE_SYSTEM_GTEST=ON 进行配置:
cmake -S . -B build -DBUILD_TESTS=ON -DUSE_SYSTEM_GTEST=ON
如果软件包安装在标准搜索路径之外,请将其前缀添加到
CMAKE_PREFIX_PATH,或将 GTest_DIR 设置为包含
GTestConfig.cmake 的目录。已安装的软件包必须提供 GTest::gtest_main
和 GTest::gmock 目标。使用 CMake 3.22 时,请使用提供
GTestConfig.cmake 的软件包;CMake 基于模块的 GoogleMock 发现机制需要 3.23 或
更高版本。
这仅替换测试框架,而不替换上面列出的测试数据、语言模型 或字体。相关测试仍然需要这些文件。 当请求测试但所选框架不可用时,配置 会失败,而不是静默省略测试。
要运行测试,请在 tesseract 文件夹中执行以下操作
autoreconf -fiv
git submodule update --init
git clone https://github.com/egorpugin/tessdata tessdata_unittest --depth 1
cp tessdata_unittest/fonts/* test/testing/
mv tessdata_unittest/* ../
export TESSDATA_PREFIX=/prefix/to/path/to/tessdata
make check