【问题标题】:Clustering extracted text from images?聚类从图像中提取的文本?
【发布时间】:2019-11-19 21:30:05
【问题描述】:

我有一张图像,我从中“提取”了文本 - 基本上是在字母周围放置边界框。 以类似的方式如下所示,,不同之处在于,不是硬币,而是字母。我需要根据它们所在的“行”对上述边界框进行聚类 - 例如,我必须将第一行硬币或“字母”聚类(在我的情况下)。我似乎无法找到一种有效的方法来做到这一点?

我有一个非常粗略的方法是计算每行中边界框的数量并相应地对它们进行聚类,但这根本没有效率。

【问题讨论】:

标签: python numpy scipy


【解决方案1】:

假设一个字母到它的邻居的距离不同于它下面的一个,你可以使用 K - 均值聚类。或者,您可以将 DBSCAN 与合适的 epsilon 一起使用。

考虑到给定的示例,您应该评估集群是否真的有必要。正如您所提到的:假设您有关于每个“行”的信息(例如,与最后一个已知行的高度差),您可以检查边界框是否包含相同的 x/y 坐标(取决于您是在 rows/cols 还是 cols /rows 格式)。
有效地实现这一点可能比您将要进行的任何集群都快。

【讨论】:

  • > Find average size of all bounding boxes in the image, decide tolerance of rows based on this number. > Find the center coordinate of each of the bounding boxes > Compare the center coordinate of each bounding box to the next one. > If the centers are within tolerance then club them together 你认为这种方法可行吗?
  • 只要边界框与计算平均值的最大偏差仍然小于到下一行的距离 - 是的。听起来是个好方法,这就是我的想法。祝你好运!
猜你喜欢
  • 2014-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多