首页 文章

过滤不需要的blob(检测图像中的数字)

提问于
浏览
0

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

enter image description here
之后,我将它应用于最大对比度和一些闪电,我得到了这个结果:

enter image description here
接下来我将图像二值化并获得最终结果:
enter image description here
[^]

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

3 回答

  • 0

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

    • 尽可能简单

    • 以灰度或二进制工作(早期丢弃颜色 - 它确实没有什么对您有用的信息)

    • 明确这需要适用的情况(倒置字体,字体大小,旋转,背景)

    • 有一个训练和测试数据库的图像,你可以评估你的方法,所以这不仅仅是一个主观的评价!

    • 已经有大量关于这个主题的文献 . 我建议你阅读它而不是重新发明轮子!你可以花多年时间在这上面!

  • 0

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

  • 1

    很棒的问题,有很多方法可以做到这一点 . 我建议你阅读这篇文章:Image Processing: Algorithm Improvement for 'Coca-Cola Can' Recognition

    好的,你的文字,我想我会开始寻找白色方块,然后使用一些OCR来检测数字(openCV)或训练你自己的神经网络 . 或者可能对每个黑色数字(可能在其顶部和下部区域)进行评级,这样您就可以区分6和9 .

相关问题