【问题标题】:Checking if a drawn image exists within another image检查绘制的图像是否存在于另一个图像中
【发布时间】:2012-03-05 05:44:41
【问题描述】:

我想为WP7.5制作塔防游戏,你必须在其中绘制你想要建造的塔的符号。所以这个想法是当用户画了一些东西时,我检查它是否与我的塔符号匹配。

符号如下所示:

用户画了这样的东西:

但是现在,我不知道如何有效地比较用户的图像是否与我的符号图像匹配。第一个想法是匹配每个像素的像素,如果用户图像的所有黑色像素都匹配我符号的每个黑色像素以返回 true,但我认为这不是最好的方法。

有人可以帮我解决这个问题吗?

编辑:现在我有了另一个想法——我保存用户触摸显示器的坐标,然后我只检查符号图像我保存的坐标上的像素。它看起来比逐像素比较要好,是吗? :)

【问题讨论】:

  • 这不是小事。有很多解决方案(旋转、移动、缩放等);我相信谷歌搜索会发现它们

标签: c# image-recognition


【解决方案1】:

我见过的最常见的方法是根据绘制的图像与每个图像的匹配程度来“评分”。这通常涉及分析图像以确定曲线/点的大致位置,或者将其与图像经验缓存中的图像进行比较。例如,存储 5-10 张与用户为圆形和其他塔/形状绘制的图像相似的图像,然后根据它们的匹配程度对它们进行排名。

虽然这些技术在计算机视觉/人工智能领域相对较新……但有一些现有的库可能会有所帮助:http://code.google.com/p/aforge/

但是,尝试自己实现它可能更容易也更有趣。

【讨论】:

  • 这里有一个类似的问题——答案基本上就是你想做的:stackoverflow.com/questions/152028/…
  • 谢谢,那太好了,但我自己实现它更有趣,你怎么说的。 :)
【解决方案2】:

Android 内置了gesture recognition - 在研究特定于 WP 的解决方案之前,这可能是一个很好的起点。

【讨论】:

    猜你喜欢
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 2012-06-15
    相关资源
    最近更新 更多