【问题标题】:Remove background in opencv to make text more clear去除opencv中的背景,让文字更清晰
【发布时间】:2015-05-28 17:39:27
【问题描述】:

我正在尝试创建一个可以从图像中读取文本的应用程序。但我在清除背景时遇到问题。我想要这样的结果:

输入图片 1:

输出图像 1:

这是我尝试过的代码:

cvtColor(org, tmp, CV_BGR2GRAY); 
normalize(tmp, tmp, 0, 255, NORM_MINMAX); 
threshold(tmp, dst, 0, 255, CV_THRESH_OTSU);

【问题讨论】:

  • 我的问题不一样。
  • 1. cvtColor(org, tmp, CV_BGR2GRAY); 2.normalize(tmp, tmp, 0, 255, NORM_MINMAX); 3.threshold(tmp, dst, 0, 255, CV_THRESH_OTSU);

标签: opencv image-processing opencv4android


【解决方案1】:

您感兴趣的线的方向为 0 度或 90 度,在任一方向上都有很小的差异。背景图案中的线条是倾斜的。您可以使用精明算法识别线条,然后检查方向。根据字体,在垂直线和水平线的交汇处会留下一些空隙。然后返回原始图像并使用基于颜色的分水岭,或使用连接组件,或其他任何方式来避免丢失这些连接区域。

【讨论】:

  • 其实背景不一定总是用线条填充。它可以是任何东西。我想要一些通用的东西。
  • @HemantKumar 你说你想要一些通用的东西。您的示例图像有多有代表性?数字是否总是比图像的其余部分具有更高的强度?您应该清楚自己的期望。
  • @beaker 不,没有必要。数字的强度可能较低。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-23
  • 2013-02-24
  • 1970-01-01
  • 2016-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多