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

使用EasyOCR提取图片文本时如何过滤删除带阴影的数字内容

EasyOCR阴影文本过滤实现方案

你提到的示例场景(需过滤重叠的阴影文本"2586"、保留正常文本"2574")可通过以下三个层级的方案实现:
示例图片

1. 识别前图片预处理(根源消除阴影)

在送入EasyOCR识别前先对图片做处理,直接抹除阴影区域,避免被识别:

  • 自适应阈值二值化:阴影的灰度值通常介于背景和正常文本之间,用OpenCV的adaptiveThreshold方法做二值化,调整参数可把中等灰度的阴影直接转为背景色,参考代码:
import cv2
# 读取灰度图
img = cv2.imread("target_img.png", 0)
# 自适应高斯阈值二值化,最后两个参数可根据你的场景调整
binary_img = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 15, 3)
  • 颜色通道拆分:如果是彩色图片,可拆分HSV/RGB通道,选择文本和背景对比度最高的通道做识别,阴影在对应通道的对比度会被大幅削弱。

2. 识别结果后处理(基于EasyOCR输出特征筛选)

EasyOCR默认返回每个文本块的置信度、坐标位置、对应区域的像素信息,可基于这些特征过滤:

  • 置信度过滤:阴影文本的识别置信度通常远低于正常文本,测试你的场景下的阈值(比如正常文本置信度普遍高于0.75,阴影文本低于0.4),直接过滤低于阈值的结果即可。
  • 重叠区域筛选:你的示例中阴影文本和正常文本位置高度重合,识别结果会返回两个坐标重叠度超过80%的文本块,只需保留其中文字颜色更深、置信度更高的块即可过滤阴影内容。
  • 区域对比度校验:提取每个识别结果对应的坐标区域,计算该区域的像素方差,阴影区域的像素对比度低、方差小,过滤方差低于设定阈值的文本块即可。

3. 模型微调(适配批量固定场景)

如果上述方案在你的场景下准确率不足,且有一定量的标注数据,可以给EasyOCR的检测头补充标注,把阴影文本标注为非文本区域,微调后模型会自动忽略阴影类的弱文本内容,无需额外后处理。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:27:04