0

我正在尝试打印 Amazon Rekognition 调用的结果,但它返回错误:

列表索引超出范围:IndexError

Traceback(最近一次调用最后一次):文件“/var/task/lambda_function.py”,第 57 行,在 lambda_handler

time = response['Persons'][0]['Timestamp']

IndexError:列表索引超出范围

我放了索引[0],我真的不明白为什么它会超出索引范围。

有人可以帮忙吗?

response = get_face_search(jobID)
time = response['Persons'][0]['Timestamp']
print(time)

#below is the format:
--------------------------------------------
{
'JobStatus': 'IN_PROGRESS'|'SUCCEEDED'|'FAILED',
'StatusMessage': 'string',
'NextToken': 'string',
'VideoMetadata': {
    'Codec': 'string',
    'DurationMillis': 123,
    'Format': 'string',
    'FrameRate': ...,
    'FrameHeight': 123,
    'FrameWidth': 123
},
'Persons': [
    {
        'Timestamp': 123,
        'Person': {
            'Index': 123,
            'BoundingBox': {
                'Width': ...,
                'Height': ...,
                'Left': ...,
                'Top': ...
            },
            'Face': {
                'BoundingBox': {
                    'Width': ...,
                    'Height': ...,
                    'Left': ...,
                    'Top': ...
                },
                'AgeRange': {
                    'Low': 123,
                    'High': 123
                },
                'Smile': {
                    'Value': True|False,
                    'Confidence': ...
                    },
                ],

                'Pose': {
                    'Roll': ...,
                    'Yaw': ...,
                    'Pitch': ...
                },
                'Quality': {
                    'Brightness': ...,
                    'Sharpness': ...
                },
                'Confidence': ...
            }
        },
        'FaceMatches': [
            {
                'Similarity': ...,
                'Face': {
                    'FaceId': 'string',
                    'BoundingBox': {
                        'Width': ...,
                        'Height': ...,
                        'Left': ...,
                        'Top': ...
                    },
                    'ImageId': 'string',
                    'ExternalImageId': 'string',
                    'Confidence': ...
                }
            },
        ]
    },
]
}
4

1 回答 1

0

你的代码很好。问题是您的response对象不包含预期的数据。

boto3要求所有输入参数必须是关键字,因此:

response = get_face_search(jobID)

应该:

response = get_face_search(JobId = jobID)

有关处理 的结果的 Python 脚本示例get_face_search(),请参阅:以您为明星的自动视频编辑!| AWS 机器学习博客

于 2018-04-22T00:23:28.023 回答