Python图像:从内存加载jpeg
问题是从内存中加载jpeg编码的图像 我从套接字接收到一个字符串:Python图像:从内存加载jpeg,python,image,jpeg,Python,Image,Jpeg,问题是从内存中加载jpeg编码的图像 我从套接字接收到一个字符串: jpgdata = self.rfile.read(sz) 我知道这是jpeg编码的图像 我需要解码它。 最愚蠢的解决方案是: o = open("Output/1.jpg","wb") o.write(jpgdata) o.close() dt = Image.open("Output/1.jpg") 问题是如何在内存中执行相同的操作?使用StringIO,以便Image可以像访问文件一样访问数据。PIL的Image.op
jpgdata = self.rfile.read(sz)
我知道这是jpeg编码的图像
我需要解码它。
最愚蠢的解决方案是:
o = open("Output/1.jpg","wb")
o.write(jpgdata)
o.close()
dt = Image.open("Output/1.jpg")
问题是如何在内存中执行相同的操作?使用StringIO,以便Image可以像访问文件一样访问数据。PIL的Image.open对象接受任何类似文件的对象。这意味着您可以将图像数据包装到StringIO对象上,并将其传递给Image.Open
from io import BytesIO
file_jpgdata = BytesIO(jpgdata)
dt = Image.open(file_jpgdata)
或者,尝试将self.rfile
作为参数传递给Image.open,也可以这样做。(对于Python3,使用cStringIO中的导入StringIO作为BytesIO
)