• Win10 使用MinGW-w64编译Tesseract4.0


    一开始尝试使用mingw+msys编译tesseract, 但是苦于mingw-get安装的软件版本都太旧,要安装新版本只能下载源码编译安装。

    在编译过程中遇到了很多麻烦,最后还遇到了包直接循环依赖问题(glib和pkg-config),最终只能作罢。

    1. 下载安装mysy2

    地址: https://www.msys2.org/

    安装后打开msys2.exe, 务必要先更新软件包数据库和核心系统包(很重要),否则在安装tesseract过程中出现莫名奇妙的问题。

    pacman -Syu
    # -y, --refresh 从服务器下载新的软件包数据库 (-yy 强制更新软件包数据库) # -u, --sysupgrade 升级所有已安装的软件包 (-uu 可启用降级)

    2. 更新软件源

    默认的MSYS2 源升级软件或是安装新软件的较慢,这里为了提高速度使用中科大的源

    编辑 /etc/pacman.d/mirrorlist.mingw32 ,在文件开头添加:

    Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686

    编辑 /etc/pacman.d/mirrorlist.mingw64 ,在文件开头添加:

    Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64

    编辑 /etc/pacman.d/mirrorlist.msys ,在文件开头添加:

    Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch
    # 刷新软件包数据
    pacman -Sy

    3. 环境搭建

    pacman -S base-devel
    pacman -S automake autoconf make mingw-w64-i686-gcc mingw-w64-i686-gdb mingw-w64-i686-SDL mingw-w64-i686-SDL_ttf mingw-w64-i686-make
    pacman -S autoconf-archive libtool pkg-config
    pacman -S icu-devel  mingw-w64-i686-pango mingw-w64-i686-cairo
    
    
    # 选择安装(optional)
    pacman -S msys2-devel
    pacman -S mingw-w64-i686-toolchain

    4. 安装Tesseract4.0

    目前使用pcman直接安装的Tesseract版本为3.0.5

    tesseract安装依赖leptonica,而leptonica又依赖libgif、libjpeg、libpng、libtiff、zlib、libwebp、libopenjp2、xz等库。

    # 安装leptonica
    pacman -S mingw-w64-i686-leptonica
    
    # 安装git 
    pacman -S git
    
    # 下载tesserat4.0源码
    git clone https://github.com/tesseract-ocr/tesseract.git tesseract-ocr
    
    # autogen.sh的作用也是检测你的编译工具和依赖关系包是否完整
    ./autogen.sh
    ./configure --enable-debug
    make -j4 
    make install
    
    

    如果安装tesseract3.0.5,只需要:

    # 安装
    pacman -S mingw-w64-i686-tesseract-ocr
    
    # 卸载
    pacman -S mingw-w64-i686-tesseract-ocr

    5. 遇到的错误

    1)

    pacman -S mpfr

    2)

    尝试更新软件包:

    pacman -Syu

    6. 测试:

    如果想要在windows的命令行中也是可以使用tesseract,将tesseract.exe拷贝到其他目录,然后双击运行,这时肯定会报错

    根据提示拷贝对应的dll到当前tesseract.exe所在目录即可。

    效果:

    参考:

    https://github.com/mangband/mangband/wiki/MSYS2

    https://github.com/tesseract-ocr/tesseract/wiki

    https://github.com/tesseract-ocr/tesseract/wiki/Compiling

  • 相关阅读:
    使用递归方式判断某个字串是否是回文( palindrome )
    方法的动手动脑
    设计统计英文字母出现频率的感想
    原码、补码、反码
    java语法基础报告
    人月神话阅读笔记01
    第六周学习进度报告--(大二下)
    第五周学习进度报告--(大二下)
    梦断代码阅读笔记03
    个人作业--数组之首尾相连
  • 原文地址:https://www.cnblogs.com/hupeng1234/p/8590741.html
Copyright © 2020-2023  润新知