在低质量图像上查找单词的边界框

时间:2014-01-28 05:03:27

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

我正在尝试使用opencv在此图片中找到“ЛИЛИЯ”字样的边界框。

example image to process http://litprom.ru/3.png

我已经在几天内尝试cv::findContours()和不同的阈值算法,但无法获得任何令人满意的结果。

那么,我对这个词有什么了解:

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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