Amazon Rekognition detect_labels 没有 return 个实例或父级
Amazon Rekognition detect_labels does not return Instances or Parents
根据 https://docs.aws.amazon.com/rekognition/latest/dg/labels-detect-labels-image.html#detectlabels-response and https://docs.aws.amazon.com/rekognition/latest/dg/API_DetectLabels.html ,Amazon Rekognition 应该 return 个实例(边界框详细信息)和带有每个标签的父级。但是,在成功地 运行 detect_labels 实现类似于上述链接的实现后,我的响应中唯一的键是 'Name' 和 'Confidence'; 'Instances' 和 'Parents' 甚至都不是键,更不用说具有空值的键了。
有没有人有什么想法?
我的代码如下:
def _bounding_box(imageFile):
client = boto3.client('rekognition')
with open(imageFile, 'rb') as image:
response = client.detect_labels(Image={'Bytes': image.read()})
print('Detected labels in ' + imageFile)
for label in response['Labels']:
print(label)
print("Label: " + label['Name'])
print("Confidence: " + str(label['Confidence']))
print("Instances:")
for instance in label['Instances']:
print(" Bounding box")
print(" Top: " + str(instance['BoundingBox']['Top']))
print(" Left: " + str(instance['BoundingBox']['Left']))
print(" Width: " + str(instance['BoundingBox']['Width']))
print(" Height: " + str(instance['BoundingBox']['Height']))
print(" Confidence: " + str(instance['Confidence']))
print()
print('Parents: ')
for parent in label['Parents']:
print(" " + parent['Name'])
print("----------")
print()
我能够准确地重现您的结果。
然后我更新了我的 boto3
版本并返回了 Instances
信息。
Instances
未返回:版本 1.9.16
Instances
返回:版本 1.9.104
您可以通过以下方式发现版本:
>>> import boto3
>>> boto3.__version__
因此,请更新您的 boto3
。 (pip install boto3 --upgrade
)
通常最好使用虚拟环境来保持清洁。
根据 https://docs.aws.amazon.com/rekognition/latest/dg/labels-detect-labels-image.html#detectlabels-response and https://docs.aws.amazon.com/rekognition/latest/dg/API_DetectLabels.html ,Amazon Rekognition 应该 return 个实例(边界框详细信息)和带有每个标签的父级。但是,在成功地 运行 detect_labels 实现类似于上述链接的实现后,我的响应中唯一的键是 'Name' 和 'Confidence'; 'Instances' 和 'Parents' 甚至都不是键,更不用说具有空值的键了。
有没有人有什么想法?
我的代码如下:
def _bounding_box(imageFile):
client = boto3.client('rekognition')
with open(imageFile, 'rb') as image:
response = client.detect_labels(Image={'Bytes': image.read()})
print('Detected labels in ' + imageFile)
for label in response['Labels']:
print(label)
print("Label: " + label['Name'])
print("Confidence: " + str(label['Confidence']))
print("Instances:")
for instance in label['Instances']:
print(" Bounding box")
print(" Top: " + str(instance['BoundingBox']['Top']))
print(" Left: " + str(instance['BoundingBox']['Left']))
print(" Width: " + str(instance['BoundingBox']['Width']))
print(" Height: " + str(instance['BoundingBox']['Height']))
print(" Confidence: " + str(instance['Confidence']))
print()
print('Parents: ')
for parent in label['Parents']:
print(" " + parent['Name'])
print("----------")
print()
我能够准确地重现您的结果。
然后我更新了我的 boto3
版本并返回了 Instances
信息。
Instances
未返回:版本 1.9.16Instances
返回:版本 1.9.104
您可以通过以下方式发现版本:
>>> import boto3
>>> boto3.__version__
因此,请更新您的 boto3
。 (pip install boto3 --upgrade
)
通常最好使用虚拟环境来保持清洁。