AWS识别检测标签无效图像编码

2024-09-27 21:34:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用boto3调用recognition的detect label方法,该方法以图像(base64编码字节的形式)作为输入。但是我总是得到InvalidImageFormatException,我不明白为什么。我已经阅读了文档并查看了一些示例,但我真的不明白为什么会收到此错误。在

下面是我的代码和我迄今为止所做的尝试

self.rekog_client = boto3.client('rekognition', 'us-east-1')
with open('abc100.jpg', "rb") as cf:
    base64_image=base64.b64encode(cf.read()).decode("ascii")
    #also tried this) ==> base64_image=base64.b64encode(cf.read())
resp = self.rekog_client.detect_labels(Image={'Bytes': base64_image})

输出/异常:

^{pr2}$

Tags: 方法图像imageselfclient编码readboto3
1条回答
网友
1楼 · 发布于 2024-09-27 21:34:14

弄明白了,这个方法实际上需要base64编码的二进制数据,而文档中并没有真正指定这些数据,doc只是说base64编码的字节。在

self.rekog_client = boto3.client('rekognition', 'us-east-1')
with open('cat_pic600.jpg', "rb") as cf:
        base64_image=base64.b64encode(cf.read())
        base_64_binary = base64.decodebytes(base64_image)
resp = self.rekog_client.detect_labels(Image={'Bytes': base_64_binary})

相关问题 更多 >

    热门问题