Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 谷歌反向图像搜索API_Android - Fatal编程技术网

Android 谷歌反向图像搜索API

Android 谷歌反向图像搜索API,android,Android,是否有反向搜索的API?如果没有,如何从android应用程序发出反向图像搜索请求?反向图像搜索api已被弃用: 新的搜索api可以进行图像搜索查询 您可以尝试此名为 下面是Camfind API的图像请求输入和图像响应输出示例 图像请求 图像响应 您可能会发现以下项目很有用。它本质上是一个scraper服务器,您可以将图像的url发送给它(例如使用curl),它返回一个包含各种有用信息的json数组 我已经实现了一个“通过HTTP使用Google图像搜索反向搜索JSON REST API”

是否有反向搜索的API?如果没有,如何从android应用程序发出反向图像搜索请求?

反向图像搜索api已被弃用:

新的搜索api可以进行图像搜索查询


您可以尝试此名为

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

图像请求

图像响应
您可能会发现以下项目很有用。它本质上是一个scraper服务器,您可以将图像的url发送给它(例如使用curl),它返回一个包含各种有用信息的json数组

我已经实现了一个“通过HTTP使用Google图像搜索反向搜索JSON REST API”

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

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 }

它工作得很好。我们已经将其集成到一个应用程序中

  • 只是在拍一张照片
  • 缩小它
  • 上传到公共服务器
  • 使用此URL
  • 调用RESTAPI+获取JSON响应(见下文)
  • 显示文本和类似图像
服务器

  • 使用internet可访问的URL转到Google图像服务器(通过HTTP)
  • 运行编码的url
  • 获取响应,在服务器上从Google运行javascript
  • 搜索特定的html标记、类或ID
  • 创建JSON响应
你从谷歌那里得到了什么

  • “标签/标题”
  • 具有所有元数据的类似图像(文本片段、html片段、原始URL、缩略图URL、大小、尺寸等)
有了这些信息,您可以轻松地显示检测到的标签,类似的在线图像及其文本

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


所以现在-谷歌没有为此发布API,即使它包含在现有的谷歌应用程序中-非常非常遗憾

不幸的是,谷歌没有提供反向图像搜索API。我发现唯一能提供这种服务的是TinEye(参见)。我听说他们的数据库中没有那么多的图像,但在大多数情况下它似乎工作得很好。但是它不是免费的,而且对于一个API来说,它是昂贵的。目前他们每搜索收费0.04美元。

谷歌有一个很棒的API,名为。这是一种比自定义搜索更好的方法。使用批处理请求反向搜索图像的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 }


你好,我用PHP做了一个刮刀。这取决于你想要的图片信息。如果您需要标题或描述,那么您可以从我的xpath查询中获得它,并轻松地将代码从PHP重写为Java。我写了一篇关于这一点的博文,从我所看到的,上传后最后一页上的大部分内容都是用JavaScript生成的,你在文章中似乎没有提到。除非我弄错了,你能帮我照一下吗?它能做反向图像搜索吗?我看了文档,似乎需要一个文本查询。我想你需要在base64中编码图像(如果支持反向图像搜索),谢谢,如果我有机会尝试,我会向您汇报。@dg base64编码图像以执行反向图像搜索工作吗?@DragonGamer据我所知,这仍然不是谷歌通过其API支持的内容,sorrycamfind在某些方面很好,但它们是人工支持的,因此对于某些应用程序来说并不太好。如果没有url,只有图片?如果你没有url,只有图片怎么办?另外,你能在Github上发布一个示例项目吗?它是否适用于Android?这是免费的吗?不,不是免费的。看看价格。是的,它可以在android上使用。您可以使用Java库,或者它不识别图像上的内容(使用AI),而不是真正的反向图像搜索?有图像搜索选项。我刚刚更新了我的回复我不知道这个链接。它可能被称为谷歌定制搜索API