解析来自Google Cloud Vision API Python客户端的响应

时间:2017-08-01 00:14:47

标签: google-cloud-vision google-cloud-python

我正在使用适用于Google Cloud Vision API的Python客户端,与文档http://google-cloud-python.readthedocs.io/en/latest/vision/

中的代码基本相同
>>> from google.cloud import vision
>>> client = vision.ImageAnnotatorClient()
>>> response = client.annotate_image({
...   'image': {'source': {'image_uri': 'gs://my-test-bucket/image.jpg'}},
...   'features': [{'type': vision.enums.Feature.Type.FACE_DETECTOIN}],
... })

问题是响应没有字段"注释" (因为它是文档)但基于文档的每个"类型"的字段。所以,当我试图获得response.face_annotations时,我得到了 基本上我不知道如何从响应(AnnotateImageResponse)中提取Vision API的结果,以获得像json / dictionary这样的数据。 google-cloud-vision版本为0.25.1,它作为完整的google-cloud库安装(pip install google-cloud)。 我想今天不是我的日子 我感谢任何澄清/帮助

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

嗯。这有点棘手,但是API总体上来说很棒。实际上,您可以直接调用人脸检测界面,它将完全吐出您想要的内容-包含所有信息的字典。

from google.cloud import vision
from google.cloud.vision import types

img = 'YOUR_IMAGE_URL'
client = vision.ImageAnnotatorClient()
image = vision.types.Image()
image.source.image_uri = img
faces = client.face_detection(image=image).face_annotations
print faces