检查绘制的图像是否存在于另一个图像中

时间:2012-02-13 19:50:00

标签: c# image-recognition

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

符号如下所示:

http://i.stack.imgur.com/3pbIc.png

用户绘制的内容如下:

enter image description here

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

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

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