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

基于pytesseract的OCR图像预处理技术咨询及代码需求

图像OCR预处理技术与代码示例

核心预处理技术

  • 灰度化:将彩色图像转换为单通道灰度图,降低计算复杂度,减少颜色干扰,让OCR聚焦于文本的亮度特征。
  • 自适应二值化:针对光照不均的图像,通过局部阈值将图像转为黑白,相比全局二值化能更好保留文本细节,避免部分区域过暗/过亮导致的文本丢失。
  • 噪声过滤:使用中值滤波或高斯模糊去除图像中的随机噪点,防止噪点被误识别为文本像素。
  • 形态学闭运算:先膨胀后腐蚀的组合操作,既能填充文本笔画的缺失缺口,又能避免过度膨胀导致的文本粘连,是填补文本缺失的关键步骤。
  • 图像锐化:增强文本边缘与背景的对比度,让文本轮廓更清晰,提升OCR的特征识别能力。

完整示例代码

以下代码结合OpenCV实现上述预处理步骤,最终调用pytesseract进行识别:

import cv2
import numpy as np
import pytesseract

# 若tesseract未加入系统环境变量,需手动指定路径
# pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'

def preprocess_image(image_path):
    # 读取图像
    img = cv2.imread(image_path)
    if img is None:
        raise ValueError("无法读取目标图像文件")
    
    # 1. 灰度化
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    
    # 2. 自适应二值化(适配光照不均场景)
    thresh = cv2.adaptiveThreshold(
        gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 11, 2
    )
    
    # 3. 噪声过滤(中值滤波消除椒盐噪点)
    denoised = cv2.medianBlur(thresh, 3)
    
    # 4. 形态学闭运算(填充文本缺失区域)
    kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (2, 2))
    closed = cv2.morphologyEx(denoised, cv2.MORPH_CLOSE, kernel)
    
    # 5. 图像锐化(增强文本边缘)
    sharpen_kernel = np.array([[-1,-1,-1], [-1,9,-1], [-1,-1,-1]])
    sharpened = cv2.filter2D(closed, -1, sharpen_kernel)
    
    return sharpened

def ocr_with_preprocessing(image_path):
    processed_img = preprocess_image(image_path)
    # 调用pytesseract识别英文文本
    result = pytesseract.image_to_string(processed_img, lang='eng')
    return result.strip()

# 测试执行
if __name__ == "__main__":
    image_path = "target_image.png"  # 替换为你的图像路径
    ocr_result = ocr_with_preprocessing(image_path)
    print("OCR识别结果:", ocr_result)

调整建议

  • 形态学操作的kernel尺寸需根据文本笔画粗细调整:文本较细用(2,2),较粗可放大至(3,3)。
  • 若图像存在倾斜,可添加霍夫变换检测文本行角度,再通过仿射变换完成倾斜校正。
  • 自适应二值化的块大小(需为奇数)和常数参数,可根据实际图像明暗程度微调,以达到最优文本分离效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 22:25:42