我正在处理一些扫描的文本图像,我需要突出显示该图像中的所有单词。我知道问题等同于查找周围有额外空格的子图像。
OCR无法使用,我只需要用边框勾勒每个单词。 有人可以建议如何使用OpenCV来完成。
我曾尝试阅读有关阈值处理和细分的信息。我只是想找人指点一些相关资料。
答案 0 :(得分:20)
我认为您的图片有多行文字。在这种情况下,首先要做的是检测这些线。
为此,首先使用Otsu方法或自适应阈值对图像进行二值化。
然后,你可以使用所谓的“水平直方图”。它就像直方图本身,但显示有线条的地方和有空格的地方。所以将图像分成空白行,然后得到每一行。下面是水平直方图的图像。
现在为每一行找到水平直方图。在此之前,尝试做一些扩张和侵蚀,以便将所有字母组合在一起。然后,您可以在每一行上找到连接的组件来获取每个单词。然后绘制边界。
下图显示了水平和垂直直方图: