image-processing - 使用opencv进行分词

标签 image-processing opencv image-segmentation

<分区>

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

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

我已经尝试阅读有关阈值和分割的内容。我只是在找人给我指点一些相关 Material 。

最佳答案

我认为您的图片包含多行文字。那样的话,首先你要做的就是检测这些线路。

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

然后,您可以使用所谓的“水平直方图”。它本身就像一个直方图,但会显示哪些地方有线条,哪些地方有空格。因此,将图像划分为空白行,然后得到每一行。下面是水平直方图的图像。

Horizontal histogram

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

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

horizontal and vertical histograms

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

关于image-processing - 使用opencv进行分词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12764624/

相关文章:

image - 使用 convert 或 mogrify 将多个 PNG 文件合并为一个多页 TIFF 文件

python - 了解rawpy中raw_pattern的输出

java - connectedComponentsWithStats 在 Java 中返回类型和值

python - np.outer 如何帮助创建过滤器内核?

matlab - 基于超像素的图像边界

python - 车牌字符分割python opencv

c# - 图片中的颜色

python - 复选框检测opencv

c++ - 使用 OpenCV 进行 JPEG 压缩

python - 计算并绘制分割掩码像素