【问题标题】:google rest api reverse image searchgoogle rest api 反向图片搜索
【发布时间】:2018-01-21 20:23:21
【问题描述】:

我正在尝试使用 Google REST API 使用本地存储的图像进行反向图像搜索。我正在使用新的——未弃用的——REST API。我可以进行文本搜索并获得结果。我无法使用本地图像进行搜索。我可以对图像进行反向图像搜索并获得结果。有什么建议吗?

我的 https 字符串是:

https://www.googleapis.com/customsearch/v1?key=A******&cx=0****&q=file:///home/givonz/donald-trump-voicemail-feature.jpg

另外,尝试了这个 https 字符串,它也不起作用:

https://www.googleapis.com/customsearch/v1?key=A******&cx=0****&searchType=image&q=file:///home/givonz/donald-trump-voicemail-feature.jpg

此文本字符串搜索有效:

https://www.googleapis.com/customsearch/v1?key=A******&cx=0****&q=Some+String

【问题讨论】:

标签: image rest api search


【解决方案1】:

该服务似乎已被弃用,不再作为 API 提供,并且;它总是需要一个链接(URL)。网络上有一些服务似乎提供了该功能。 Bing,尽管看起来这样做,但似乎没有。雅虎进行反向图像搜索,但我找不到 API。 “Incandescent”确实提供了这项服务和一个 API。

【讨论】:

  • Bing 确实具有带有 POST 功能的反向图像搜索功能,您可以在其中传递本地图像。
  • 我知道 Bing。我在他们的文档中没有看到 API。即使使用原始图像,也没有返回我正在寻找的那种结果。对我来说,ImageRaider 为链接提供了良好的结果,但不是图像。你有 Bing 文档的链接吗?
  • 发布了带有示例代码的答案。希望它对你有用!
  • 你不会碰巧有 Python 版本吧? :-)
【解决方案2】:

这应该可行。确保在标题中传递您的密钥。

var path = @"YOUR_IMAGE_PATH";
var url = "https://api.cognitive.microsoft.com/bing/v7.0/images/details?modules=similarimages";
using (var client = new HttpClient())
using (Stream imageFileStream = File.OpenRead(path))
{
   var content = new MultipartFormDataContent();
   var strContent = new StreamContent(imageFileStream);
   strContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") { FileName = "anynameworks" };
   content.Add(strContent);

   var message = await client.PostAsync(url, content);
   return await message.Content.ReadAsStringAsync();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多