【问题标题】:How to remove small numbers and text from image using OpenCV in python如何在 python 中使用 OpenCV 从图像中删除小数字和文本
【发布时间】:2021-05-20 07:00:04
【问题描述】:

我正在执行图形提取。我想删除 X-Y 平面之间图像中的所有文本,如 B(2,2) 、 C(3,3) 等,以便算法不会将它们检测为一条线。我可以在没有 ocr 的情况下使用形态学操作吗?

【问题讨论】:

  • 鉴于文本的颜色与其他颜色不同(如您发布的示例中),您可以使用 inRange 过滤/屏蔽/替换文本
  • X-Y 平面的任何位置都不能有任何颜色的文本。

标签: python opencv graph text-extraction mathematical-morphology


【解决方案1】:

如果不必保留网格,最简单的方法是对图像进行阈值处理并获取蒙版。步骤是:

  1. 分别设置阈值 R、G、B(仅保留黑色区域)
  2. 按像素应用 AND - 你会得到一个蒙版
  3. 删除图像中所有不在掩码中的像素。
thr = 120
image_thr = np.double(image < thr)
mask = np.min(image_thr, axis=-1)

for c in range(3):
    image[:, :, c][mask == 0] = 255

formatted image

【讨论】:

  • 好主意....你能在python中分享一个相同的sn-p吗?
  • 感谢您的回答和代码。但这不起作用,因为文本和图形线也可以是黑色的。如果你有什么想法,请告诉我。
猜你喜欢
  • 2019-05-04
  • 2018-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-31
  • 1970-01-01
  • 2020-03-07
  • 2019-08-20
相关资源
最近更新 更多