2011-04-04 78 views
24

API我需要一个iOS应用使用这些功能:图像识别库/为iPhone代码

  • 使用相机捕获图像。
  • 识别图像:是否与示例图像匹配?

是否有任何在线API(Google,Yahoo,...)?例如,我可以上传图片并获取图片网址,然后请求网址将新图片与现有图片进行比较?

+0

可能重复的[非常简单的图像识别在iOS](http://stackoverflow.com/questions/4695268/very-simple-image-recognition-on-ios) – 2011-04-04 17:14:14

回答

16

OpenCV库(for iPhone)包含许多算法。你可以简单地比较图像的颜色直方图,或使用更复杂的东西。你是指哪种配对?寻找重复或计算图像相似度量度?

如果你想匹配一些简单的模板来找到对象,然后尝试中提琴&琼斯算法和所谓的哈尔瀑布。例如,OpenCV已经在XML文件中训练了用于检测面部的模板集合。 OpenCV包含用于培训的实用程序,因此您可以为其他类型的对象生成级联

+0

匹配的意思我有一个图像关于一个对象例如:一个标志),并且我使用相机捕捉图像(也是该标志)。我想知道2个徽标是否相同。感谢您的回答 – 2011-04-04 12:02:48

+1

那么好的选择是哈尔瀑布或cvMatchTemplate恕我直言 – Andrey 2011-04-04 12:07:15

+0

@Andrey如何识别水果和蔬菜?我可以用opencv做到 – 2014-06-01 19:44:07

3

我找到了IQEngines,它很好用。

14

你也可以看看Moodstocks,他们提供了一个巨大的API和iOS SDK来实现在几分钟你的应用图像识别。

+0

好的公司,但非常昂贵。 – 2016-02-25 00:50:45

1

Pastec开源(LGPL)替代已经提到的服务。

其简单的HTTP API允许轻松添加,删除和搜索索引中的匹配图像。它基于OpenCV并使用ORB描述符,该专利无需专利。

+0

为了避免受挫,我想提一下,Pastec只在Linux系统中编译,它不能在Mac OS上编译,因为它的sys/eventfd依赖关系。 – 2015-03-26 20:13:33

+0

对eventfd的依赖已被删除,所以现在Pastec应该可以编译为OSX。 – MagSoft 2015-04-08 12:54:46

1

我查看了Moodstocks,他似乎已经完善了带有按月付费服务的图像识别系统。他们有一个很好的系统(我测试过它是为了我自己的使用,而且太棒了),但对我来说它极其昂贵,这就是为什么我不使用它。在我写这篇文章的时候,“高达100,000”的图片服务大约是12,000美元/年。对于我的项目,我有近400万张图片需要与之匹配。 YIKES。

因此经过数月的研究和开发,我得出的结论是,如果你打算比较1000或更多的图像(在我的情况下是100万以上),你需要做该设备的图像比较关闭。用户移动设备没有足够的空间,速度和能力来执行大量的计算来完成这种工作。

什么真正的意思是,你需要建立一个图像识别服务器高性能的机器上,并把它公开到您的应用程序。在应用程序上,让用户拍摄一个物体的照片(或者您可以从相机视频中抓取相框),将其发送到您的服务器进行比较,然后当发现匹配时将结果报告给应用程序。

例如,您可以使用框架(如Accord.NETEmguCV)来创建在Windows Server框上运行的C#桌面应用程序或服务。

亚马逊iOS应用从我能猜到是他们似乎找到SURF点实时做图像识别什么,而扫描整个图像,而不是将数据发送到服务器。我的猜测是他们在设备上使用OpenCV来做到这一点。但他们仍然使用服务器软件来发送匹配的产品SKU。

这是一个很棒的博客文章,由一个想要在.NET中进行图像匹配的人来完成,他将介绍每个步骤,包括它如何工作,如何操作,然后在示例应用程序中提供他的所有代码。令人惊叹的文章:https://sbrakl.wordpress.com/2015/01/30/love-affair-with-cbir-part-3/comment-page-1/

从我已经能够学习的是,LoCATe算法执行最佳和最快的大量图像,但也需要几小时,几天,甚至几周(取决于有多少图像你有)创建大量的搜索索引。我认为,在图像匹配方面,我发现创建固定索引的速度与查询匹配的速度有关。

+0

和链接不起作用 – 2016-07-31 21:45:31

3

图像识别的整场已与深层神经网络的出现改变。但是你需要一个强大的机器来训练你自己的神经网络。但是,您也可以使用vize.it - 这是一款易于使用的在线应用程序,可让您使用http API定义任务并对图像进行分类。

免责声明:我是人工智能的博士生谁是vize.it团队的一员。