如何使用Java在图像中搜索特定图像/徽标/符号等?

时间:2012-07-17 23:06:04

标签: java image search image-recognition

我正在为我的叔叔(为一些政治办公室竞选)创建一个小游戏,一个“寻找标志”游戏,用户会看到一个图像,然后他们搜索并点击图片中的标志。例如,向用户显示建筑物的图片,如商店或其他东西,并且他们需要点击已在窗口中张贴的活动标志。有各种各样的标志,但它们都有相同的标志。

1 个答案:

答案 0 :(得分:2)

如果你真的想沿着图像识别的道路前进,那就有众所周知的算法。尝试使用谷歌搜索一些,但是你可以看到的只有SIFTSURF。获得一些工作可能需要付出相当大的努力 - 也许你可以寻找一个库实现。

然而在你的情况下,似乎有点矫枉过正。如果这是一个小游戏,你说,我猜你会呈现不太多的图像。您可以使用您要查找的徽标的坐标来注释每个图像,例如使用简单的矩形,并检查用户是否在该预定区域内单击。这对于每个图像来说都是一个很小的手动开销 - 可能没有比你手动将每个图像打包到应用程序/数据库中那么大。

例如,一个简单的硬编码地图可能会这样做。你可能会想到更好的方法。

Map<String,Rectangle> mapLogoLocationToImage = new HashMap<String,Rectangle>();
mapLogoLocationToImage.put("post_office.png",new Rectangle(1,1,5,5);
mapLogoLocationToImage.put("office_block.png",new Rectangle(3,7,4,6);
.
.