是否有反向搜索的API?如果不能如何从Android应用程序进行反向图像搜索请求?
答案 0 :(得分:9)
我已经实现了“通过HTTP使用谷歌图像搜索反向搜索JSON REST API”。
使用甚至在服务器上运行javascript的“httpunit”框架实际上非常简单。这是执行Google图片搜索请求所必需的
https://images.google.com/searchbyimage?image_url=
效果很好。我们已将其集成到
的应用程序中服务器
你来自谷歌
通过这些信息,您可以轻松显示检测到的标签,类似的在线图像及其文本。
但是:不幸的是,谷歌的机器检测非常好,找到了我的REST-API并将其关闭。
所以现在 - 谷歌没有宣布这个API,即使它包含在现有的Google Apps中 - 非常非常SAD
答案 1 :(得分:7)
您可能会发现以下项目很有用。它本质上是一个刮刀服务器,你将图像的url发送到(例如使用curl),它返回一个带有各种有用花絮的json数组。
答案 2 :(得分:4)
您可以尝试使用名为Camfind
的反向图片搜索API以下是Camfind API的图像请求输入和图像响应输出的示例
{
"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美元。