如何使用python从s3存储桶中读取图像以进行Amazon Rekognition?

时间:2018-12-17 12:23:37

标签: amazon-web-services amazon-s3 amazon-rekognition

嗨,我正在一个项目中,我在s3存储桶中有一个源图像,我想将其与本地计算机中的图像进行比较。我已经设置了aws cli。这是代码。我的图像位于名称为“ s.jpg”的某个存储桶“ bx”中。现在,我想阅读它,所以我调用了get_object方法,并使用open()进行了读取,但是没有用。

import boto3
import os
if __name__ == "__main__":
    path2 = '/home/vivek/Desktop/tar/'
    t=[j for j in os.listdir(path2)]
    buck=boto3.client('s3')
    obj=buck.get_object(Bucket='bx',Key='s.jpg')
    imageSource=open(obj['Body'],'rb')
    for targetFile in t:
        client=boto3.client('rekognition')
        imageTarget=open(targetFile,'rb')
        response=client.compare_faces(SimilarityThreshold=70,
        SourceImage={'Bytes': imageSource.read()},
        TargetImage={'Bytes': imageTarget.read()})

我得到一个错误:

vivek@skywalker:~/Desktop/code$ python3 y.py
Traceback (most recent call last):
  File "y.py", line 9, in <module>
    imageSource=open(obj['Body'],'rb')
TypeError: expected str, bytes or os.PathLike object, not StreamingBody

0 个答案:

没有答案