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

如何用OpenCV与Pytesseract预处理多色表格图像优化OCR识别

适配多颜色表格的OCR图像预处理优化方案

原代码直接将彩色图像转灰度后二值化,无法有效保留蓝、绿、棕等彩色表格线条或标识,导致这些元素在二值化后丢失或模糊,干扰OCR识别。以下是针对性的优化方案:

核心思路

利用HSV颜色空间对颜色的良好区分度,分别提取目标颜色(蓝、绿、棕)的表格元素,合并成统一的掩码后,生成无颜色干扰的黑白表格图像,再进行OCR识别。

优化后的完整代码

import pytesseract as tess
import cv2
import numpy as np
import matplotlib.pyplot as plt

# 读取图像
img = cv2.imread("table_img.png")
# 转换到HSV颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

# 定义各目标颜色的HSV阈值范围(可根据实际图像微调)
# 蓝色范围
lower_blue = np.array([90, 50, 50])
upper_blue = np.array([130, 255, 255])
# 绿色范围
lower_green = np.array([40, 50, 50])
upper_green = np.array([80, 255, 255])
# 棕色范围
lower_brown = np.array([10, 50, 50])
upper_brown = np.array([30, 255, 180])

# 提取各颜色的掩码
mask_blue = cv2.inRange(hsv, lower_blue, upper_blue)
mask_green = cv2.inRange(hsv, lower_green, upper_green)
mask_brown = cv2.inRange(hsv, lower_brown, upper_brown)

# 合并所有颜色掩码
combined_mask = cv2.bitwise_or(mask_blue, mask_green)
combined_mask = cv2.bitwise_or(combined_mask, mask_brown)

# 将原图像转为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 用掩码增强表格元素:将掩码区域的灰度值调整为0(黑色),其余保留原灰度
enhanced_gray = cv2.bitwise_and(gray, gray, mask=cv2.bitwise_not(combined_mask))
enhanced_gray = cv2.bitwise_or(enhanced_gray, combined_mask)

# 二值化处理(可选,根据图像情况调整)
_, thresh = cv2.threshold(enhanced_gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)

# 形态学操作:修复断裂的线条(可选)
kernel = np.ones((2,2), np.uint8)
thresh = cv2.dilate(thresh, kernel, iterations=1)
thresh = cv2.erode(thresh, kernel, iterations=1)

# 显示处理后的图像
plt.imshow(thresh, cmap='gray', interpolation='nearest')
plt.show()

# OCR识别
print(tess.image_to_string(thresh))

关键步骤说明

  • HSV颜色空间转换:相比RGB,HSV的色调(H)通道独立于亮度,更容易精准提取特定颜色。
  • 颜色掩码提取:针对每种目标颜色设置阈值,过滤出对应颜色的表格元素,避免灰度转换时的信息丢失。
  • 掩码合并与灰度增强:将所有颜色的表格元素统一转为黑色(或白色),生成无颜色干扰的清晰表格底图。
  • 形态学操作:膨胀和腐蚀可以修复二值化后可能出现的线条断裂,进一步提升表格结构的完整性。

微调建议

如果识别效果仍不理想,可以根据实际图像调整以下参数:

  • 各颜色的HSV阈值范围:可以用取色工具获取目标颜色的HSV值,再微调上下限。
  • 形态学操作的核大小和迭代次数:根据表格线条的粗细调整,避免过度处理导致文字模糊。

内容的提问来源于stack exchange,提问作者NFeruch - FreePalestine

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 00:31:05