Mac环境下升级Tesseract 5.0解决pytesseract词间距保留难题
解决Mac上Tesseract 4.0无法保留诗歌词间距的问题
问题根源
你碰到的这个词间距丢失的问题,确实是Tesseract 4.x版本的老bug了——官方在5.0版本里已经通过专门的修复commit解决了这个问题,但Homebrew目前还停留在4.0版本,所以得手动从源码编译安装5.0才行。
Mac上从GitHub源码编译Tesseract 5.0的步骤
别担心,即使你不熟悉源码编译,跟着下面的步骤一步步来就行:
先装编译依赖
打开终端,用Homebrew装编译需要的工具和依赖库:brew install automake autoconf libtool pkg-config brew install leptonica克隆Tesseract源码
把官方仓库克隆到本地,然后切换到5.0的稳定分支(也可以选最新的5.x稳定标签,比如5.3.3):git clone https://github.com/tesseract-ocr/tesseract.git cd tesseract git checkout 5.0.0编译安装
依次执行这几个命令,完成编译和安装(输入sudo时需要你输入Mac系统密码):./autogen.sh ./configure make sudo make install确认安装成功
安装完之后,在终端敲这个命令验证版本:tesseract --version如果显示的是
5.x.x的版本号,就说明装对了。重新测试你的代码
现在再跑你原来的Python代码,preserve_interword_spaces=1这个参数就能正常生效,识别诗歌的时候词间距就会保留下来了:from PIL import Image import pytesseract img1 = Image.open(file) custom_config = r'-c preserve_interword_spaces=1 --psm 4' str4 = pytesseract.image_to_string(img1, config=custom_config)
小提示
- 如果编译的时候提示缺某个库,直接用
brew install 库名装上就行。 - 装完之后pytesseract会自动调用新的Tesseract版本,不用额外修改路径(只要你之前没手动指定过老版本的路径)。
内容的提问来源于stack exchange,提问作者bobsmith76
相关产品推荐
相关产品推荐

