0

我正在编写有趣的应用程序,我想从跑步 T 恤上获取数字。我正在使用 AForge.NET 和 emguCV 来获得预期的结果,我认为我非常接近解决我的问题,但我仍然想从更有经验的用户那里获得意见。首先我有这个图像:

在此处输入图像描述 之后,我将它应用到最大对比度和一些亮度,我得到了这个结果:

在此处输入图像描述 接下来我将图像二值化并得到最终结果: 在此处输入图像描述 [^]

接下来我应用一些基本的过滤器来清除小斑点和非常大的斑点。接下来我尝试找到高度>宽度的斑点,然后我尝试找到相似的斑点大小和形状,它们彼此相邻。这是我的方法,在大多数情况下都适合我。另外,我创建了可能的斑点的直方图,我可以将其视为字母。这意味着我在该矩形中寻找 2 种主色。如果两种主要颜色是黑色(ish)或白色(ish),我知道这是跑步衫上的数字。我想知道的是,你有什么不同的方法吗?像混合通道、转换为 HSV 空间以及过滤黑色?我的整个想法是用少量不是数字的斑点来获得这些数字。我会很感激任何建议。评论和想法很好,如果你想写代码,请做。谢谢你...

4

3 回答 3

1

您需要仔细考虑为什么要执行这些步骤。你在做什么似乎有点随机。它可能适用于一个图像,但不适用于其他图像。我的建议:

  1. 尽可能简单
  2. 以灰度或二进制工作(尽早丢弃颜色 - 它确实很少有对您有用的信息)
  3. 清楚这需要在哪些情况下工作(反转字体、字体大小、旋转、背景)
  4. 拥有一个训练和测试图像数据库,您可以在上面评估您的方法,因此这不仅仅是主观评估!
  5. 已经有大量关于这个主题的文献。我建议您阅读它而不是重新发明轮子!否则,您可能会为此花费数年!
于 2013-09-16T15:18:53.173 回答
0

查看图像的特征,您可能首先检测正方形,因为文本位于白色块中。不确定 aforge 是否可以检测正方形,但其他库可能可以这样做。

于 2015-10-01T09:36:41.360 回答
0

很好的问题,有很多方法可以做到这一点。我建议您阅读此内容:图像处理:“可口可乐罐”识别的算法改进

好的,你要找文本,我想我会先找到白色方块,然后使用一些 OCR 来检测数字(openCV)或训练你自己的神经网络。或者也许对每个数字进行评分(可能在其顶部和下部区域),以便您可以区分 6 和 9。

于 2016-03-25T19:38:47.890 回答