我正在使用带有 Python 的 Google 云视觉 API
( https://googlecloudplatform.github.io/google-cloud-python/stable/vision-usage.html )
但是我不明白为什么单个图像的注释结果由list
sannotation
组成。文件说
:
>>> from google.cloud import vision
>>> from google.cloud.vision.feature import Feature
>>> from google.cloud.vision.feature import FeatureTypes
>>> client = vision.Client()
>>> image = client.image(source_uri='gs://my-test-bucket/image.jpg')
>>> features = [Feature(FeatureTypes.FACE_DETECTION, 5),
... Feature(FeatureTypes.LOGO_DETECTION, 3)]
>>> annotations = image.detect(features)
>>> len(annotations)
2
>>> for face in annotations[0].faces:
... print(face.joy)
Likelihood.VERY_LIKELY
Likelihood.VERY_LIKELY
Likelihood.VERY_LIKELY
>>> for logo in annotations[0].logos:
... print(logo.description)
'google'
'github'
为什么要image.detect
为单个图像返回多个注释?
这似乎没有必要,因为检测结果包含在每个属性中(annotations[0].faces
、annotations[0].logos
等)。
当我用自己的图像尝试 api 时,它返回annotations
长度为 1 的 api。
所以我的问题是:
- 为什么python的vision api客户端为单个图像返回多个注释?
- 我需要解析
annotation
列表中的每一个annotations
吗?