【发布时间】:2018-10-15 07:52:56
【问题描述】:
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 获取对象元数据。检查对象键、区域和/或访问权限。
我的存储桶区域是 us-east-1,我在代码中进行了相同的配置。 我做错了什么?
【问题讨论】:
-
您找到解决方案了吗?尽管相同的 lambda 成功地与 aws rekognition 创建的另一个存储桶一起工作,但我的存储桶也遇到了同样的错误。
-
这段代码现在对我有用,我没有改变任何东西,当我部署它时它刚刚开始工作。
-
我认为该角色已分配给另一个存储桶。它现在正在工作。
-
您能否详细说明您是如何解决的?这是一个普遍的问题
标签: python amazon-web-services amazon-s3 face-detection