【问题标题】:Finding lines from text image OpenCV C++从文本图像 OpenCV C++ 中查找行
【发布时间】:2021-11-19 12:55:09
【问题描述】:

我的图像带有一些随机线条,如下所示:

我想对它们进行一些预处理以找到线条(扭曲文字的线条)。

我看到了一些方法,但它是在 Python 中,而不是 C++:

Remove noisy lines from an image

Remove non straight lines from text image

在 C++ 中,我尝试了但结果图像:

我想要的结果(我用 Photoshop 做的):

如何使用 OpenCV 在 C++ 中找到该图像中的线条?谢谢

【问题讨论】:

  • 这不能用低级方法解决。这无法清理。这应该通过使用可以容忍噪声的 OCR 来解决。可悲的是,我看到的所有“现代” OCR 都停留在上个世纪(二值化......)
  • ???? @ChristophRackwitz 太可悲了!...但我不需要 OCR,我只想在文本图像中找到线条。
  • 啊!那么你可以尝试灰度形态。使用宽而扁平的内核。也许是 1x9。结果可能如下所示:imgur.com/ZowE4Lx 并且可以进一步改进
  • 您链接到其他答案。其中一些使用python。它们似乎也比简单的灰度形态表现更好。你应该调查一下。
  • @ChristophRackwitz 是的,谢谢!我仍然得到正确的内核值。

标签: c++ opencv


【解决方案1】:

对此我不确定。就像@Chistoph Racwit 所说,您可能需要使用某种 OCR。

但只是为了尝试一下,我认为您可以应用一个水平过滤器来突出显示图像中的任何水平线。它可能不会给出最好看的结果,但通过一些清理,您最终可能会得到图像中线条的位置。

您可以使用此图像检测线条的位置,并在原始图像中用红色绘制它们。

【讨论】:

  • 我很高兴看到原创贡献
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-19
  • 2013-10-08
  • 1970-01-01
相关资源
最近更新 更多