我正在使用带有Python的Google云视觉API (https://googlecloudplatform.github.io/google-cloud-python/stable/vision-usage.html)
但我无法理解为什么单个图像的注释结果由1
个.length
组成。
document说:
2
为什么list
会为单个图片返回多个注释?
这似乎是不必要的,因为检测结果包含在每个属性中(annotation
,>>> 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'
等)。
当我用我自己的图像尝试api时,它返回长度为1的image.detect
。
所以我的问题是:
annotations[0].faces
中的每个annotations[0].logos
?答案 0 :(得分:0)
Google Cloud Vision API目前提供10种不同的注释,可以应用于任何图像。例如,在10个可用注释中,您可以检测到:
所以,回答你的问题:
注意在运行您在帖子中引用的Python示例时,无论您选择通过代码检测多少注释,len(注释)都将返回“1”。
另请注意,您所包含的任何不返回任何值的注释,例如图像中未找到任何徽标,都不会返回任何内容。