import boto3
if __name__ == "__main__":
bucket='MyBucketName'
sourceFile='pic1.jpg'
targetFile='pic2.jpg'
client=boto3.client('rekognition','us-east-1')
response=client.compare_faces(SimilarityThreshold=70,
SourceImage={'S3Object':{'Bucket':bucket,'Name':sourceFile}},
TargetImage={'S3Object':{'Bucket':bucket,'Name':targetFile}})
for faceMatch in response['FaceMatches']:
position = faceMatch['Face']['BoundingBox']
confidence = str(faceMatch['Face']['Confidence'])
print('The face at ' +
str(position['Left']) + ' ' +
str(position['Top']) +
' matches with ' + confidence + '% confidence')
我试图比较存储桶中的两个图像,但无论选择哪个区域,都会出现以下错误:
botocore.errorfactory.InvalidS3ObjectException:调用CompareFaces操作时发生错误(InvalidS3ObjectException):无法从S3获取对象元数据。检查对象密钥、区域和/或访问权限。
我的bucket区域是us-east-1,我在代码中配置了相同的区域。 我做错什么了?
我也有同样的问题。我要做的是重新整理我的桶和文件夹。确保您的图像直接在您的桶中,而不是在您的桶中的文件夹中。还要仔细检查图像的名称是否正确,并且一切都正确。
在我看来,你没有足够的权限访问密钥和机密密钥!如果凭据是IAM用户的,请确保IAM用户有权执行重新识别比较面读取操作和s3读取操作!还要检查s3源和目标对象键是否正确。 最好创建具有所需权限的角色,并假定该角色请求临时安全凭据,而不是使用永久访问密钥。
编译之前,请确保脚本中的AWS环境变量配置
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
相关问题 更多 >
编程相关推荐