使用nodejs客户端库将图像作为base64编码发送到google云视觉API

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用nodejs客户端库将图像作为base64编码发送到google云视觉API相关的知识,希望对你有一定的参考价值。

我正在使用Google云端Web检测API的nodejs客户端库,我想将base64编码的图像传递给它,但没有关于它的文档。我尝试使用简单的API调用它,但它工作,但由于客户端库更整洁我想知道他们是否也在那里实现了它。任何的想法?

答案

事实上,你应该能够使用base64-encoded image发送Cloud Vision API Client Library for Node.js

当使用webDetection() method实例中的ImageAnnotatorClient时,request字段应该包含一个AnnotateImageRequest对象,其中包括一个image对象。 image对象具有此documentation page中表示的结构。正如您所看到的,它可以包括图像所在的sourcecontent表示为字节流。

此外,如果你看一下google.cloud.vision.v1.Image definition in proto format,你会发现它确实需要作为图像定义来源或内容。

另一答案

因此,解决方法是使用API​​传递base64:

request({
    url: "https://vision.googleapis.com/v1/images:annotate",
    method: "POST",
    qs: {
      key: "your key"
    },
    json: true,
    body: {
  "requests": [
    {
      "image": {
        "content": place your base64 here(without prefix)
      },
      "features": [
        {
          "type": "WEB_DETECTION"
        }
      ]
    }
  ]
}

以上是关于使用nodejs客户端库将图像作为base64编码发送到google云视觉API的主要内容,如果未能解决你的问题,请参考以下文章

获取 Base64 编码的图像并使用 ExpressJS 作为图像发送

在 NodeJs 中解码 base64 编码的 webm 视频

AngularJS:用于将动态 base64 编码图像作为背景图像的 ng-class

MySQL - Base64 vs BLOB

nodejs base64 的json为啥会有空格

MySQL - Base64 与 BLOB