我正在尝试通过套接字连接发送图像以进行视频聊天,但是从字节格式重建图像不正确。这是我将图像转换为要发送的字节:
pil_im = Image.fromarray(img)
b = io.BytesIO()
pil_im.save(b, 'jpeg')
im_bytes = b.getvalue()
return im_bytes
这很好,但是,我无法将这些字节重新格式化为图像文件。这是我重新格式化为图像以供显示的代码:
pil_bytes = io.BytesIO(im_bytes)
pil_image = Image.open(pil_bytes)
cv_image = cv2.cvtColor(np.array(pil_image), cv2.COLOR_RGB2BGR)
return cv_image
此处的第二行引发以下异常:
无法识别图像文件<_io。字节IO对象在0x0388EF60>
我已经查看了其他一些线程(这个和这个(,但没有解决方案对我有帮助。我也以此为参考来试图纠正自己,但似乎对他们有用的东西对我来说并不适用。感谢您提供的任何帮助,请原谅任何错误,我还在学习 python。
首先谢谢! 因为您问题中的代码帮助我解决了我所遇到的问题的第一部分。第二部分已经使用这个简单的代码为我解决了(不要转换为数组(
dataBytesIO = io.BytesIO(im_bytes)
image = Image.open(dataBytesIO)
希望这有帮助