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
  • 相关阅读:
    2017《面向对象程序设计》课程作业八
    2017《面向对象程序设计》课程作业七
    第六次作业
    2017《面向对象程序设计》课程作业五
    课程作业四
    2017《面向对象程序设计》课程作业三
    2017《面向对象程序设计》课程作业二
    2017《面向对象程序设计》课程作业一
    20200924 次小生成树
    水文章_考拉
  • 原文地址:https://www.cnblogs.com/journeyonmyway/p/10227005.html
Copyright © 2011-2022 走看看