使用opencv进行分词

时间:2012-10-06 23:00:05

标签: image-processing opencv image-segmentation

我正在处理一些扫描的文本图像,我需要突出显示该图像中的所有单词。我知道问题等同于查找周围有额外空格的子图像。

OCR无法使用,我只需要用边框勾勒每个单词。 有人可以建议如何使用OpenCV来完成。

我曾尝试阅读有关阈值处理和细分的信息。我只是想找人指点一些相关资料。

1 个答案:

答案 0 :(得分:20)

我认为您的图片有多行文字。在这种情况下,首先要做的是检测这些线。

为此,首先使用Otsu方法或自适应阈值对图像进行二值化。

然后,你可以使用所谓的“水平直方图”。它就像直方图本身,但显示有线条的地方和有空格的地方。所以将图像分成空白行,然后得到每一行。下面是水平直方图的图像。

Horizontal histogram

现在为每一行找到水平直方图。在此之前,尝试做一些扩张和侵蚀,以便将所有字母组合在一起。然后,您可以在每一行上找到连接的组件来获取每个单词。然后绘制边界。

下图显示了水平和垂直直方图:

horizontal and vertical histograms

此SOF可能有所帮助:How to convert an image into character segments?