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

如何正确预处理含数字的小图块以适配Tesseract OCR?

如何正确预处理包含数字的小图块以适配Tesseract OCR?

输入图像:包含多组带数字和字母的小单元格的图块,部分单元格为无效空白或干扰项
示例输出单元格:单个清晰的包含数字+字母的有效单元格(如38搭配对应字母的样式)

代码实现:

if abs(averageArea - area) <= 0.15 * area:
    cellImg = preprocess(img[y:y + h, x:x + w])
    cell = Cell()
    cell.x = x
    cell.y = y
    cell.w = w
    cell.h = h
    cell.content = pytesseract.image_to_string(cellImg).strip()

控制台输出:

Row 0:  38h 38p
Row 1:  38}
Row 2:  38a 38C 38g

当前预处理函数(尝试多种方法后仅保留resize):

def preprocess(img):
    img_resized = cv2.resize(img, None, fx=5, fy=5, interpolation=cv2.INTER_CUBIC)
    # tried gaussianblur and otsu bin after
    return img_resized

目前无法得到正确的识别结果,但在线OCR工具可正确识别,该工具的方案应为通用方案。请问操作中存在哪些问题?有什么优化建议或方向吗?

需完成的核心步骤

  • 拆分输入图像为更小的单元格,以区分无效单元格
  • 放大小单元格
  • 在OCR识别前应用多种预处理方法

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 18:20:20