在二进制图像中找到单词

时间:2014-11-01 15:03:03

标签: opencv image-processing

我想找出一种方法,用于在二进制图像中查找单词或一对单词的边界框。图像本身看起来像这样:(我需要的边界框用蓝色矩形标记)。

enter image description here

图像没有任何其他对象。我正在考虑某种形式的连通分量分析,比如首先检测单个字母,然后"绘制"它们在另一个Mat对象上的边界框,使得相邻的字母连接起来。我想利用一些有用的信息 - 单词或一对单词构成一条水平线,这是一种可用于分离“你好”的信息。和" abcdf" - 我只是不知道该怎么做。

2 个答案:

答案 0 :(得分:2)

  1. 轮廓图像。
  2. 选择具有合适面积和宽度/高度的轮廓作为字母 - 获得中心的坐标。
  3. 从中心列表中确定2个中心可以相邻多少个字母 而不是差距。
  4. 将这些轮廓分成一个单词并取出它们 边界框
  5. 如果您不想自己动手,Opencv会有聚类,轮廓区域和边界框功能

答案 1 :(得分:2)

  1. 使用窗口大小N进行OX扩张,其中N是字母宽度的大约1..2大小,那么您将使用黑色填充“框”。
  2. 查找轮廓(请参阅http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html)。
  3. 由于扩张宽度增大,找到矩形并用(减去约1个字母宽度)校正它。