Python图像处理:从内存加载jpeg [英] Python Imaging: load jpeg from memory

查看:0
本文介绍了Python图像处理:从内存加载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")

问题是如何在内存中做同样的事情?

推荐答案

PIL的Image.Open对象接受任何类似文件的对象。这意味着您可以将图像数据包装在StringIO对象上,并将其传递给Image.Open

from io import BytesIO
file_jpgdata = BytesIO(jpgdata)
dt = Image.open(file_jpgdata)

或者,尝试将self.rfile作为参数传递给Image.open-它可能同样有效。(即适用于Python3-适用于Python2使用from cStringIO import StringIO as BytesIO)

这篇关于Python图像处理:从内存加载jpeg的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆