无法在 Python 3 中从 S3 读取 PNG 文件?

史蒂夫

我在 S3 上有一个存储桶。我希望能够连接到它并将图片/PDF 读取到我的 EC2 机器内存中,执行 OCR 并获取所需的字段。

这是我到目前为止所做的,但不幸的是它不起作用。

import cv2
import boto3
import matplotlib
import pytesseract
from PIL import Image


boto3.setup_default_session(profile_name='default-mfasession')
s3_client = boto3.client('s3')
s3_resource = boto3.resource('s3')
bucket_name = "my_bucket"
key = "my-files/._Screenshot 2020-04-20 at 14.21.20.png"

bucket = s3_resource.Bucket(bucket_name)
object = bucket.Object(key)
response = object.get()
file_stream = response['Body']
im = Image.open(file_stream)
np.array(im)

返回一个错误:

UnidentifiedImageError: 无法识别图像文件 <_io.BytesIO object at 0x7fae33dce110>

我已经在 SO 中尝试了与此问题相关的所有答案,但没有任何帮助。包括:matplotlib: ValueError: invalid PNG header and PIL cannot identify image file for io.BytesIO object

请指教如何解决?

马尔钦

这是我通常使用的。也许它也适合你:

def image_from_s3(bucket, key):

    bucket = s3_resource.Bucket(bucket)
    image = bucket.Object(key)
    img_data = image.get().get('Body').read()

    return Image.open(io.BytesIO(img_data))

在你的处理程序中你执行这个:

    img = image_from_s3(image_bucket, image_key)

img 如果成功执行,应该是 Pillow 的图像。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Golang无法从S3读取PNG

如何在Python中从S3读取Avro文件?

如何使用Python在myBucket中上传CSV文件并在S3 AWS中读取文件

如何在 Lambda 函数中读取 S3 文件(在 python 中)

如何从Web上的Python Flask中的AWS s3中读取文件

如何使用 Lambda 和 Python 在 AWS s3 中读取和覆盖文件?

如何使用python从S3存储桶中读取.txt文件并查看内容?

使用Python从S3读取json文件到sagemaker笔记本中

如何从BufferedReader中S3中读取文件?

在Spark中从HDFS或S3读取边缘DB文件

如何在EMR中从s3读取文件?

在R中从AWS S3读取gzip文件的内容

如何在S3中读取ElasticSearch快照文件?

使用boto3和python从S3存储桶目录中仅读取特定格式的文件

使用S3AFileSystem的Flink无法从S3读取子文件夹

在python3中读取txt文件

从 S3 存储桶中的 CSV 文件读取数据并将其存储在 python 中的字典中

AWS Lambda(Python)无法在S3中解压缩和存储文件

无法使用 python 将数据附加到 AWS S3 中的现有 csv 文件

从listdir中筛选出在python 3中无法读取的文件

无法从仅使用s3a的s3协议的S3存储桶中读取

无法在python中读取文件

无法在python中读取文件

Airflow 1.9记录到s3,日志文件写入S3,但无法从UI读取

无法在S3中设置文件内容类型

无法替换Amazon S3存储桶中的文件

VTK模块无法在Windows上的Python3中读取文件

无法读取Azure Jupyter Notebook(Python 2和3)中的“ .parquet”文件

从python3脚本中的文件读取变量时无法摆脱尾随\ n