如何使用python查询带有本地图像的Google Cloud Vision API?

如何使用python查询带有本地图像的Google Cloud Vision API?,python,google-cloud-platform,google-cloud-vision,google-vision,Python,Google Cloud Platform,Google Cloud Vision,Google Vision,我想使用本地存储的图像向Google vision API发送请求。 我遵循“”指南,特别是“注释图像”下的代码示例。 为了构建我的请求,我遵循“”中的示例 以下是我编写的代码: from google.cloud.vision import ImageAnnotatorClient import os import base64 os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'keys/sc_google.json' def encode_im

我想使用本地存储的图像向Google vision API发送请求。 我遵循“”指南,特别是“注释图像”下的代码示例。 为了构建我的请求,我遵循“”中的示例

以下是我编写的代码:

from google.cloud.vision import ImageAnnotatorClient
import os
import base64
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'keys/sc_google.json'

def encode_image(image_path):
    with open(image_path, "rb") as f:
        image_content = f.read()
        return base64.b64encode(image_content)

client = ImageAnnotatorClient()
image_path = 'images/happy_baby3.png'
query = {
    "requests": [
        {
            "image": {
                "content": encode_image(image_path)
            },
            "features": [
                {
                    "type": "FACE_DETECTION",
                    "maxResults": 10
                }
            ]
        }
    ]
}
response = client.annotate_image(query)
print(response.annotations)
Stil wenn在运行代码时收到以下错误消息:

Traceback (most recent call last):
  File "/mnt/c/Users/nomis/PycharmProjects/hello_web_app/emotion_detection.py", line 29, in <module>
    response = client.annotate_image(query)
  File "/usr/local/lib/python3.6/dist-packages/google/cloud/vision_helpers/__init__.py", line 55, in annotate_image
    image = protobuf.get(request, "image")
  File "/usr/local/lib/python3.6/dist-packages/google/api_core/protobuf_helpers.py", line 192, in get
    raise KeyError(key)
KeyError: 'image'
回溯(最近一次呼叫最后一次):
文件“/mnt/c/Users/nomis/PycharmProjects/hello_web_app/emotion_detection.py”,第29行,在
响应=客户端。注释图像(查询)
文件“/usr/local/lib/python3.6/dist-packages/google/cloud/vision\u-helpers/\uuuuu-init\uuuuu.py”,第55行,在注释图像中
image=protobuf.get(请求“image”)
get中的文件“/usr/local/lib/python3.6/dist packages/google/api_core/protobuf_helpers.py”,第192行
升起钥匙错误(钥匙)
KeyError:“图像”
我也尝试过,但出现错误“无法在“types.py”中找到引用“Image”


您能解释一下我做错了什么,并提供一个如何使用本地图像查询Google Vision API的最简单的工作示例吗?

在您链接的示例中,没有请求数组。请尝试以下操作:

query = {
            "image": {
                "content": encode_image(image_path)
            },
            "features": [
                {
                    "type": "FACE_DETECTION",
                    "maxResults": 10
                }
            ]
}

感谢您的回答。通过这一更改,我能够使其正常工作。这是我找到的资源,提供了一个最低限度的工作示例: