OCR 识别智能体为什么读不出中文?核对 Tesseract 语言包与分割模式

按引擎、中文语言包、图像布局和工具参数排查 Tesseract 中文失败,并对比 PSM 6 与 11。

OCR 智能体能读英文却读不出中文时,先把智能体拿开,用相同图片单独运行 Tesseract。确认可执行程序、中文语言包和页面分割模式后,再检查工具调用参数。这比反复改提示词更能定位语言识别问题。

区分三个常见症状

  • TesseractNotFoundError:Python 找不到识别引擎,不是中文能力问题。
  • Failed loading language 或 Error opening data file:对应语言数据没有正确加载。
  • 程序正常但中文乱码、漏字:再检查图像质量、语言参数和分割模式。

pytesseract 是 Python 调用封装,pip 安装它不会替你安装 Tesseract 引擎或语言数据。按 Tesseract 安装文档安装系统程序;Windows 的文档列出第三方发行构建,应核对来源,不把它说成官方自带安装器。

OCR 识别智能体为什么读不出中文?核对 Tesseract 语言包与分割模式

检查同一个进程看到的引擎与语言包

python -m pip install pytesseract pillow
tesseract --version
tesseract --list-langs

语言列表应包含 chi_sim 和 eng;简体中文与英文混排才使用 chi_sim+eng。若终端存在但 Python 不存在,先检查 Python 运行环境的 PATH 或显式设置实际安装路径。语言数据的搜索目录要以这台机器的安装与 --list-langs 输出为准。

用固定图片比较分割模式

准备清晰的 chinese.png,其中写入你已知的测试文字“订单编号 A102,数量 3”。这是自制验证文本,不是已经识别出的模型结果。保存以下代码为 check_chinese_ocr.py,再运行它。

import pytesseract
from PIL import Image

# Windows: set this only if your installed executable is not on PATH.
# pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
print("version:", pytesseract.get_tesseract_version())
languages = pytesseract.get_languages(config="")
print("languages:", languages)
if "chi_sim" not in languages or "eng" not in languages:
    raise RuntimeError("required language data chi_sim/eng is missing")
image = Image.open("chinese.png").convert("RGB")
for psm in (6, 11):
    text = pytesseract.image_to_string(image, lang="chi_sim+eng",
                                     config=f"--psm {psm}", timeout=20)
    print(f"PSM={psm}")
    print(text)

PSM 6 假设一个统一文本块,PSM 11 用于稀疏文字;选择时看图片布局,不是认为模式编号越大越准确。本文未安装 Tesseract 引擎执行该识别,未声称测试句已经被正确读出。

回接智能体前怎样验收

把两次结果与原图逐字对照,特别检查 A102、数字 3 和标点。记录哪个模式漏行、哪类字符混淆;换一张相同布局的图片再核对,不能只靠一条成功样本。

单独运行已正确、智能体调用仍不正确时,核对工具是否真的传了 chi_sim+eng、实际读取的图片是否被缩小或转换、可执行路径是否相同。把“没有语言包”“输入无效”“识别为空”分别返回状态,不都包装成成功空字符串。

繁体中文应另核对 chi_tra 等适用语言数据;手写、反光和严重倾斜不能仅靠补一个语言包解决。

资料与适用范围

本文依据 2026 年 10 月 1 日读取的项目资料编写。安装后请记录实际依赖版本;版本升级时先用小样本核对接口和输出。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/30701.html

赞 (0)
AI小管家的头像AI小管家
图像去噪怎么做?用 OpenCV 非局部均值保留原图并检查边缘
上一篇 4小时前
训练图片的边缘怎么提取?用 OpenCV Canny 调阈值并检查轮廓
下一篇 4小时前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部