谷歌反向图片搜索API

时间:2012-10-21 12:00:00

标签: android

是否有反向搜索的API?如果不能如何从Android应用程序进行反向图像搜索请求?

6 个答案:

答案 0 :(得分:9)

我已经实现了“通过HTTP使用谷歌图像搜索反向搜索JSON REST API”。

使用甚至在服务器上运行javascript的“httpunit”框架实际上非常简单。这是执行Google图片搜索请求所必需的

https://images.google.com/searchbyimage?image_url=

效果很好。我们已将其集成到

的应用程序中
  • 只是简单地拍照,
  • 缩小它,
  • 将其上传到公共服务器,
  • 使用此网址
  • 调用REST API +获取JSON响应(见下文)
  • 显示文字和类似图片

服务器

你来自谷歌

  • “标签/标题”,
  • 包含所有元数据的相似图片(文字片段,html代码段,原始网址,缩略图网址,尺寸,尺寸......)

通过这些信息,您可以轻松显示检测到的标签,类似的在线图像及其文本。

但是:不幸的是,谷歌的机器检测非常好,找到了我的REST-API并将其关闭。

所以现在 - 谷歌没有宣布这个API,即使它包含在现有的Google Apps中 - 非常非常SAD

答案 1 :(得分:7)

您可能会发现以下项目很有用。它本质上是一个刮刀服务器,你将图像的url发送到(例如使用curl),它返回一个带有各种有用花絮的json数组。

http://mrisa.mage.me.uk/

答案 2 :(得分:4)

您可以尝试使用名为Camfind

的反向图片搜索API

以下是Camfind API的图像请求输入和图像响应输出的示例

图像请求

alt text

图像响应

{
   "name": "crystal geyser bottle",
   "status": "completed"
}

答案 3 :(得分:3)

反向图片搜索API不推荐使用: https://developers.google.com/image-search/?hl=it

新的搜索API可以进行图片搜索查询

https://developers.google.com/custom-search/v1/overview?hl=it

答案 4 :(得分:1)

Google提供了一个很棒的API,名为Google Vision API - web detection。它比自定义搜索更好。示例Kotlin代码使用批处理请求来反向搜索图像

val feat = Feature.newBuilder().setType(Type.WEB_DETECTION).build()!!
val settings = ImageAnnotatorSettings.newBuilder().setCredentialsProvider(provider.get()).build()
val req = images.stream()
            .map { Image.newBuilder().setSource(ImageSource.newBuilder().setImageUri(it)).build() }
            .map { AnnotateImageRequest.newBuilder().addFeatures(feat).setImage(it).build() }
            .toList()
val res = ImageAnnotatorClient.create(settings)
            .use { c -> req.chunked(GOOGLE_BATCH_LIMIT).map { c.batchAnnotateImages(it).responsesList }.flatten() }
            .map { it.webDetection.fullMatchingImagesCount }

答案 5 :(得分:0)

不幸的是,Google不提供反向图片搜索API。我发现的唯一一项服务是TinEye(见https://api.tineye.com)。我听说他们的数据库中没有那么多图像,但它似乎适用于大多数用途。但它不是免费的,实际上它对API来说很昂贵。目前他们每次搜索收费0.04美元。