You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tesseract配置不生效求助:仅识别数字设置无效

解决Tesseract仅识别数字配置被忽略的问题

嘿,我一眼就看出问题出在哪了——你用的配置参数不对,Tesseract根本不认outputbase digits这个用来限制识别字符的设置!

问题根源

outputbase是Tesseract用来指定输出文件前缀的参数,完全不是用来约束识别字符范围的,所以你的这个配置相当于无效输入,自然会被忽略。

正确的配置方式

要让Tesseract只识别数字,你需要用两个关键配置:

  • -c tessedit_char_whitelist=0123456789:强制Tesseract只从0-9这些数字里识别内容
  • --psm 6:设置页面分割模式为“假设一个单一的统一文本块”,这个模式对单块数字识别非常友好(如果你的图片是单个独立数字,可以换成--psm 10)

修改后的完整代码

from PIL import Image
import pytesseract as tes
import glob

tes.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'
a = glob.glob(r'C:\Users\Pascal\Desktop\visible\*.png')

for imgPath in a:
    casd = Image.open(imgPath).convert('L').point(lambda x: 0 if x < 200 else 255, '1')
    # 替换成正确的识别配置
    im = tes.image_to_string(casd, config='--psm 6 -c tessedit_char_whitelist=0123456789')
    print(im)

额外小提示

你的图片二值化预处理做得还不错,但如果还是有识别偏差,可以检查下预处理后的图片:数字是否清晰、有没有被噪点干扰,必要时可以增加降噪或者简单的形态学操作(比如膨胀/腐蚀)优化图片质量。另外,Tesseract 4.0 alpha版本确实比较老旧,条件允许的话升级到稳定版,能提升识别精度和兼容性。

内容的提问来源于stack exchange,提问作者WhatAMesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:09:12