Why can't PIL load my image? Error: not enough image data
Why can't PIL load my image? Error: not enough image data
我正在尝试使用 Python bytes object
并像这样 image = Image.frombytes(mode="RGB", size=(w, h), data=image)
使用 PIL 阅读它。这给了我以下错误 not enough image data
.
我尝试了不同的图像格式和不同的模式,但都没有成功。我在客户端打开图像,在 gRPC 请求中发送它,然后将其转换为 PIL 对象,因为我使用的库要求图像是 PIL 对象。以下是代码片段:
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)
关于尝试什么或我在这里遗漏了什么的任何想法?
我最终这样做了:
image = io.BytesIO(image)
image = Image.open(image)
现在可以使用了。
我正在尝试使用 Python bytes object
并像这样 image = Image.frombytes(mode="RGB", size=(w, h), data=image)
使用 PIL 阅读它。这给了我以下错误 not enough image data
.
我尝试了不同的图像格式和不同的模式,但都没有成功。我在客户端打开图像,在 gRPC 请求中发送它,然后将其转换为 PIL 对象,因为我使用的库要求图像是 PIL 对象。以下是代码片段:
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)
关于尝试什么或我在这里遗漏了什么的任何想法?
我最终这样做了:
image = io.BytesIO(image)
image = Image.open(image)
现在可以使用了。