【问题标题】:Why can't PIL load my image? Error: not enough image data为什么 PIL 无法加载我的图像?错误:图像数据不足
【发布时间】:2021-07-10 12:24:09
【问题描述】:

我正在尝试使用 Python bytes object 并像 image = Image.frombytes(mode="RGB", size=(w, h), data=image) 这样使用 PIL 读取它。这给了我以下错误not enough image data

我尝试了不同的图像格式和不同的模式,但没有成功。我在客户端上打开图像,在 gRPC 请求中发送它,然后将其转换为 PIL 对象,因为我使用的库要求图像是 PIL 对象。这是sn-ps的代码:

image = cv2.imread(<PATH>)
w, h, c = image.shape
is_success, image_buf_arr = cv2.imencode(".png", image)
byte_image = image_buf_arr.tobytes()

然后我将图像数据作为字节数组发送到服务器:

image = Image.frombytes(mode="RGB", size=(w, h), data=image)

关于尝试什么或我在这里缺少什么的任何想法?

【问题讨论】:

    标签: python opencv image-processing python-imaging-library grpc


    【解决方案1】:

    我最终这样做了:

    image = io.BytesIO(image)
    image = Image.open(image)
    

    现在它可以工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-01
      • 2013-12-21
      • 1970-01-01
      • 2023-03-16
      • 2016-02-19
      • 2021-11-11
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多