问题描述
我试图让 PyTesseract
保留图像上的字间距。这在扫描诗歌时尤为重要。
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)
我还尝试了所有类型的 psm
配置和其他配置选项。我也在使用 PyTesseract 的最新版本,即 0.3.7。
这个问题已经被问过很多次了。最值得注意的是这里:
Preserving Spaces in Tesseract
然而,解决方案并不令人满意。建议查看以下页面:
https://github.com/tesseract-ocr/tesseract/issues/781
但是在那个页面他们断言问题已经在这里解决了
https://github.com/tesseract-ocr/tesseract/commit/e62e8f5f802c0d8f3dd67da993327cdafaee9763
但在该页面上,您似乎必须升级到 tesseract 5.0
,而我不知道如何在 Mac 上执行此操作,因为 brew install
只安装 tesseract 4.0
。
我想如果我可以安装 tesseract 5.0 那么这可能会解决问题。
##################
更新
好的,我在另一个网站上确认我必须升级到 Tesseract 5.0。 brew install
不会在 Mac 上启用该功能。所以我想我必须学习如何直接从我不太擅长的 github 中提取 tesseract 5.0。
解决方法
您可能需要克隆存储库并构建它。
https://github.com/tesseract-ocr/tesseract
https://tesseract-ocr.github.io/tessdoc/Compiling.html#macos
顺便说一句,preserve_interword_spaces
也适用于 Tesseract 4.1.1,如果您可以安装该版本。