检测相同的图像?

时间:2017-05-05 19:03:14

标签: ios swift ocr

目前正在开展一个侧面项目,但我坚持了很大一部分。

目标是用户可以从包含6个图像/图标的不同热门应用中截取屏幕截图。我想要它,所以当用户进入我的应用程序时,他们可以上传该截图,我可以检测到6个图像并将它们放入集合视图中。

问题是在屏幕截图中检测到6个图像的类型,我想过使用像Tesseract这样的OCR,但我不确定这是否可行,因为屏幕截图中的文本为零,只有6个图像。可能有帮助的一点是,在那个应用程序中,只有50种图像。会创建某种图像数据库有帮助吗?但我怎么比较呢?

我道歉,如果这没有意义我只是不知道如何说出来。任何帮助都会很棒。

2 个答案:

答案 0 :(得分:0)

假设您希望能够在多种类型的设备上执行此操作,可以使用OpenCV等计算机视觉库。

如果您的用户总是在同一设备上运行应用程序(总是在iPhone 5上运行),那么图标可能总是位于完全相同的位置,您可以简单地将屏幕截图切片,提取组件图像,以及在子图像上进行逐字节比较。但是,你有iPhone 4,iPhone 5,iPhone 6,6个屏幕尺寸,iPad,iPad视网膜,iPad专业版(小型和大型)可以处理,可能还有纵向和横向方向。据推测,这6幅图像将落在所有这些不同设备的屏幕上的不同位置,您也将有不同的图像分辨率来处理。使用OpenCV,您应该能够通过“查看”屏幕截图找到图像的边界,而不是构建一组复杂的规则。

答案 1 :(得分:0)

查看用于匹配SIFT功能的OpenCV示例代码(python版本here,但您也可以在其他语言中找到示例)。它演示了您想要做的更简单的版本。