【问题标题】:Finding word's bounding box on a low quality image在低质量图像上查找单词的边界框
【发布时间】:2014-02-19 06:12:42
【问题描述】:

我正在尝试使用 opencv 为这张图片中的单词“ЛИЛИЯ”获取一个边界框。


(来源:litprom.ru

我已经用cv::findContours() 和不同的阈值算法试验了几天,但没有得到任何令人满意的结果。

那么,我对这个词了解多少:

  • 字母大小相似;
  • 字母高度在范围内:40px — 90px;
  • 单词水平方向 (±5˚);
  • 这张图片上只有一个字;
  • 这个词不与图像的边框相交(它完全可见);
  • 图像的不同部分可能具有不同的亮度;
  • 图像上可能存在热点(全白区域)。

英语不是我的母语,所以如果问题没有得到正确解释,我很抱歉。 如果有人需要更多图片来回答这个问题,我至少还有十几张。

【问题讨论】:

  • 查看笔画宽度变换。用于文本检测。
  • @Diana,谢谢 — 现在我正在阅读有关 SWT 的文章,它看起来很有希望。我需要一些时间在 Obj-C 中实现它,我会告诉你它是否有效。
  • 嗨,我可以知道这个词是否会改变吗?请上传更多图片。
  • @Diana,笔画宽度变换并不是最容易实现的——那是两天的痛苦和屈辱。但它就像魅力一样!请发表您的评论作为答案,我会接受并投票。
  • @Stanislav 我很高兴一切顺利! :)

标签: opencv image-processing computer-vision edge-detection bounding-box


【解决方案1】:

查看笔画宽度变换。用于文本检测。

【讨论】:

    【解决方案2】:

    您可以使用adaptiveThreshold 预处理您的图像。你应该使用比你最大的角色大一点的块大小。我用 91 试了一下你的图片,效果很好。然后您可以使用 FindContours 并使用它们的高度过滤斑点/轮廓。请注意,字母仍将相互连接,因此您无法真正使用宽度进行过滤。

    【讨论】:

      猜你喜欢
      • 2011-02-23
      • 2016-03-24
      • 2013-01-10
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 2021-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多