内网编译安装tesseract用于OCR识别
需求:使用unstructured模块进行pdf内容识别及分块,需要本地安装了tesseract-ocr,以支持pytesseract
* 在Windows,可以直接安装tesseract-ocr;在Ubuntu,可以用apt install tesseract-ocr安装相关环境及依赖
当安装源里没有tesseract时,由于tesseract有很多依赖包,直接用deb包或者rpm包等安装包安装很复杂,不一定能成功安装。
1. 编译需要满足的基础的依赖环境(系统不一定都有,需要检查一下)
yum install -y autoconf automake libtool libjpeg* libpng* libtiff* zlib* gcc gcc-c++ # 以centos系统为例
2. 安装Leptonica(tesseract要用)
去Leptonica网站下载源码,解压。下面以1.82.0的版本为例。
tar -xzvf leptonica-1.82.0.tar.gz cd leptonica-1.82.0 ./autogen.sh ./configure --prefix=/usr/local/leptonica make -j 8 && make install
将Leptonica添加环境变量,编辑 /etc/profile,并添加下列内容:
export LD_LIBRARY_PATH=/usr/local/lib export LIBLEPT_HEADERSDIR=/usr/local/include export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
再使配置的环境变量生效
source /etc/profile # 刷新配置
3. 编译安装Tesseract-OCR
从GitHub官网下载源码,解压并编译安装。
tar -xzvf tesseract-5.4.1.tar.gz cd tesseract-5.4.1 ./autogen.sh # 必须先运行autogen.sh文件才会有configuer文件 ./configure --prefix=/usr/local/tesseract # 编译安装到指定文件夹 make -j 8 && make install
更新环境变量,为/etc/profile添加如下内容
PATH=$PATH:/usr/local/tesseract/bin export TESSDATA_PREFIX=/usr/local/tesseract/share/tessdata # 该变量必须有 export PATH=$PATH:$TESSDATA_PREFIX
source /etc/profile
测试安装结果
tesseract -v # 输出应该如下 tesseract {version} leptonica-{version} libjpeg 6b (libjpeg-turbo {version}) : libpng {version}: libtiff {version} : zlib {version} : libwebp {version} Found AVX2 Found AVX Found FMA Found SSE
* 其中libjpeg、libpng、libtiff等不全也不要紧,还是看最终的使用效果
4. 获取字符集
有了字符集,OCR才能根据字符集识别具体的文字。
从Tessdata获取字符集:eng.traineddata,
chi_sim.traineddata,
chi_sim_vert.traineddata,
添加到 /usr/local/tesseract/share/tessdata/ 目录下。
tesseract --list-langs # 查看支持的语言
标签:
工具
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
2020-06-17 Ubuntu18.04启动登录提示/usr/bin/locale-check:Permission denied