zoukankan      html  css  js  c++  java
  • [笔记]Win10下编译Tesseract-OCR 4.0

    Tesseract-OCR 4.0使用了LSTM网络,准确性相比3.x版本提升不少。
    官网提供的安装包会提供一堆DLL,而我需要的是一个静态链接的exe文件,所以只能重新编译。

    编译环境

    • Windows 10 专业版

    • Visual Studio 2017

    需要选择开发桌面程序的相关组件,并选择英文。

    • cmake

    我的cmake版本是3.13.2,貌似没它也行。

    • cppan

    cppan官网下载CPPAN客户端,编译动态库时使用。

    • vckpg

    下载vcpkg源码,使用管理员权限打开PowerShell,编译之。

    > git clone https://github.com/Microsoft/vcpkg.git
    > cd vcpkg
    
    PS> .ootstrap-vcpkg.bat
    PS> .vcpkg integrate install
    

    编译Tesseract-OCR 4.0

    PS> .vcpkg install tesseract:x86-windows-static
    

    如果需要64位的exe,将上面的x86换成x64即可。
    如果发现某个组件下载失败,可以自行下载后,将文件放在vcpkgdownloads目录下,然后重新运行上面的命令。
    最后成功时,会得到exe文件在vcpkgpackages esseract_x86-windows-static ools esseract esseract.exe

    验证exe文件

    PS> .	esseract.exe --version
    tesseract 4.0.0
     leptonica-1.76.0 (Jan  5 2019, 23:01:20) [MSC v.1916 LIB Release x86]
      libgif 5.1.4 : libjpeg 6b (libjpeg-turbo 1.5.3) : libpng 1.6.35 : libtiff 4.0.10 : zlib 1.2.11
     Found AVX
     Found SSE
    

    使用Tesseract-OCR 4.0识别图片文件

    将tesseract.exe拷贝到某个目录,然后在该目录之下建立tessdata目录,下载所需的语言库文件放在里面。
    要识别简体中文,需要下载的是chi_sim_best.traineddatachi_sim_vert.traineddata文件。

    举例要识别a.jpg文件,命令行如下:

    > tesseract.exe a.jpg output -l chi_sim_best --oem 1
    

    识别结果在output.txt文件内。

    OpenMP

    安装Visual C++ Redistributable 2015,就有了vcomp140.dll,以支持OpenMP。

    编译动态库

    如果想得到动态库,使用下面的命令:

    cppan --build pvt.cppan.demo.google.tesseract.tesseract-master
    

    中间出现错误,将equationdetect.cpp使用带BOM的UTF-8编码另存一下就解决了,最终生成的动态库文件如下:

    pvt.cppan.demo.danbloomberg.leptonica-1.76.0.dll
    pvt.cppan.demo.google.tesseract.libtesseract-master.dll
    pvt.cppan.demo.google.tesseract.tesseract-master.exe
    pvt.cppan.demo.jpeg-9.2.0.dll
    pvt.cppan.demo.madler.zlib-1.2.11.dll
    pvt.cppan.demo.openjpeg.openjp2-2.3.0.dll
    pvt.cppan.demo.png-1.6.35.dll
    pvt.cppan.demo.tiff-4.0.9.dll
    pvt.cppan.demo.webp-0.6.1.dll
    pvt.cppan.demo.xz_utils.lzma-5.2.4.dll
    

    Tesseract训练工具

    cppan官网下载CPPAN客户端,然后执行

    cppan --build pvt.cppan.demo.google.tesseract-master
    

    最后也没成功,部分报错如下:

    Performing Test HAVE_DECL_DECL - Failed
    ...
    error C2065: 'decl': undeclared identifier
    

    不清楚原因是什么。


    [更新于 2019-11-05]

    上述流程可以应用于生成最新版的Tesseract,目前编译成功了 4.1.0

    • 可以使用VS2019 Commnunity版
    • 安装时需要选择使用C++的桌面开发,默认配置即可
    • 注意要包含Windows 10 SDK
    • 语言包要勾选English
  • 相关阅读:
    HDU 5912 Fraction (模拟)
    CodeForces 722C Destroying Array (并查集)
    CodeForces 722B Verse Pattern (水题)
    CodeForces 722A Broken Clock (水题)
    CodeForces 723D Lakes in Berland (dfs搜索)
    CodeForces 723C Polycarp at the Radio (题意题+暴力)
    CodeForces 723B Text Document Analysis (水题模拟)
    CodeForces 723A The New Year: Meeting Friends (水题)
    hdu 1258
    hdu 2266 dfs+1258
  • 原文地址:https://www.cnblogs.com/journeyonmyway/p/10227005.html
Copyright © 2011-2022 走看看