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

模糊图像字符提取求助:Tesseract与自适应阈值处理结果不全问题

嘿,咱们来搞定你这个OCR识别的问题!我发现你的代码里有个关键小疏漏,再加上几个预处理的优化技巧,就能大幅提升识别准确率,尤其是图像右侧的信息。

先说说你原代码里的核心问题

你明明生成了自适应阈值处理后的thresh图像,但最后调用pytesseract.image_to_string()的时候,传入的却是原始的img——等于白做了预处理!这是最影响结果的问题。

改进后的完整代码

我调整了预处理流程,还优化了Tesseract的识别配置,你可以直接用:

import pytesseract
import cv2
import numpy as np

# 如果你本地的Tesseract没有自动配置路径,需要加上这行(根据你的安装路径调整)
# pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'

# 读取图像并放大:小字符放大后更易被识别
img = cv2.imread('M.jpeg')
img = cv2.resize(img, None, fx=2, fy=2, interpolation=cv2.INTER_CUBIC)  # 按比例放大2倍,避免拉伸变形

# 转灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 高斯模糊降噪:模糊图像通常有噪点,先清掉干扰
blurred = cv2.GaussianBlur(gray, (5, 5), 0)

# 自适应阈值处理:改用高斯加权均值,反转阈值让字符白、背景黑(更符合Tesseract偏好)
thresh = cv2.adaptiveThreshold(
    blurred, 
    255, 
    cv2.ADAPTIVE_THRESH_GAUSSIAN_C,  # 高斯加权比普通均值更适配局部亮度不均的图像
    cv2.THRESH_BINARY_INV,  # 反转阈值,字符为白,背景为黑
    11,  # 块大小(必须是奇数,可根据图像微调)
    6    # 常数(调整阈值的偏移量,可微调)
)

# 形态学膨胀:填补字符的小缺口,让轮廓更连贯
kernel = np.ones((2, 2), np.uint8)
thresh = cv2.dilate(thresh, kernel, iterations=1)

# 显示处理后的图像,方便你调试参数
cv2.imshow('Processed Image', thresh)
cv2.waitKey(0)
cv2.destroyAllWindows()

# 用处理后的阈值图+自定义配置识别
custom_config = r'--oem 3 --psm 6'  # OEM3用默认引擎,PSM6告诉Tesseract这是单一文本块
text = pytesseract.image_to_string(thresh, config=custom_config)

print("识别结果:")
print(text)

关键优化点说明

  1. 用处理后的图像识别:这次终于把thresh传给image_to_string了,预处理的效果才能发挥出来
  2. 图像放大:按比例放大模糊图像里的小字符,让Tesseract更容易捕捉到字符细节
  3. 高斯降噪:减少模糊图像的噪点干扰,避免OCR把噪点当成字符
  4. 高斯自适应阈值:比普通均值阈值更能应对局部亮度不均的情况,适合模糊图像
  5. 反转阈值:Tesseract默认对“白字符黑背景”的识别效果更好,反转后贴合它的偏好
  6. 形态学膨胀:填补字符边缘的小缺口,让字符轮廓更完整连贯
  7. Tesseract配置:--psm 6告诉引擎输入是一个单一的文本块,避免它错误拆分识别区域

如果还是有小问题,可以试试这些微调

  • 调整自适应阈值的块大小(比如改成13、15)和常数(比如5、7),适配你的具体图像
  • 试试形态学腐蚀操作(把dilate换成erode),如果字符边缘有多余噪点的话
  • 如果是特定语言的文本,加上lang参数,比如lang='eng'或对应语言代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:07:04