不使用互联网的图像识别

时间:2015-03-20 06:58:04

标签: android augmented-reality image-recognition wikitude layar

我想从相机扫描图像并将其与预装图像进行比较。我想要识别扫描图像

示例:我会在我的应用中保存此图像,当我扫描这样的图像时,我想识别它。

http://icons.iconarchive.com/icons/chrisbanks2/cold-fusion-hd/128/ace-of-spades-icon.png

在识别过程中,是否有任何库或SDK可用于实现上述功能而不使用互联网?

我尝试过,但我的成绩和表现都不尽人意。 我也不介意使用任何付费SDK。

注意: 我想在用户没有互联网时实现它。一切都应该在离线模式下工作。

4 个答案:

答案 0 :(得分:3)

[编辑:Moodstocks已由Google acquired提供,不再提供这些服务]

[免责声明:我为Moodstocks工作]

您应该查看Moodstocks SDK:它可以直接在设备上执行图像识别。

在实践中,您的部分工作将包括:

  • 在Moodstocks API上传您想要识别的图像,
  • 将Moodstocks SDK集成到您的Android应用中。

来自您的用户'现在的观点:他们最多需要连接到互联网 [1] 一次。他们第一次打开应用程序时,Moodstocks SDK将负责将我们服务器识别所需的图像签名直接同步到设备上。完成后,Moodstocks SDK将能够立即识别任何图像,完全脱机!

您可以参考我们的documentation了解更多详情。


[1]:如果您的应用需要完全离线工作,图片签名可以直接捆绑在应用程序中。这消除了初始互联网连接的需要!

答案 1 :(得分:3)

另一种解决方案是Vuforia。它们提供了一个可以集成到应用程序中的识别库。唯一的缺点是您必须上传您想要在其网站上识别的图像,以获得2个文件(XML和DAT - 存储图像描述符的位置)。库使用DAT文件与您提供的图像(例如相机帧)进行比较,XML文件包含您在其网站上传的每个目标图像的名称和大小;当识别图像时,库返回已存储在XML文件中的图像的名称。因此,一旦你有文件,一切都在本地执行(在设备=离线)。我已经测试过该库,正如您可能已经听说的那样,该解决方案非常快速且稳健。如果您想跟踪识别的目标图像,它们还会提供变换矩阵。

答案 2 :(得分:0)

您还可以使用Wikitude SDK通过使用Wikitude目标管理器工具创建目标集合并将其下载为WTC文件来实现此目的。

由于它们的低复杂性,也许您可​​能会遇到一些问题来识别此图像。我认为你应该测试它以消除任何疑虑。

答案 3 :(得分:0)

我几年前的想法,在一个小型Linux上,我从相机扫描图像,然后使用ImageMagic for Linux将其转换为信息。该信息是一个文本文件。然后,我对几秒钟后拍摄的下一张图像执行相同的操作。研究来自两个图像的信息后,我发现在更改新图像时,几乎没有参数发生根本改变。例如,如果某人突然进入房间。这触发了我的软件将这些图像保存更长的时间。这是一种运动检测。那时,ML并不那么受欢迎。我的动机只是节省我的相机历史记录的空间。

请参阅以下命令:

识别–verbose image.jpg

Eli