vij*_*123 9 python pickle python-imaging-library
如何从PIL Image对象创建一个pickleable文件,以便您可以将这些图像保存为单个pickle文件,然后上传到另一台计算机,例如运行PIL的服务器并在那里取消它?
gak*_*gak 17
您可以将Image对象转换为数据,然后您可以将其腌制:
image = {
'pixels': im.tostring(),
'size': im.size,
'mode': im.mode,
}
Run Code Online (Sandbox Code Playgroud)
并回到图片:
im = Image.fromstring(image['mode'], image['size'], image['pixels'])
Run Code Online (Sandbox Code Playgroud)
注:由于astex
提到的,如果你使用的枕头(推荐代替PIL),该tostring()
方法已经废弃了tobytes()
.同样用fromstring()
了frombytes()
.
Gerald的回答使用关键字args略有变化
创造pickleable对象
image = {'data': im.tostring(), 'size':im.size, 'mode':im.mode}
Run Code Online (Sandbox Code Playgroud)
要么
image = dict(data=im.tostring(), size=im.size, mode=im.mode)
Run Code Online (Sandbox Code Playgroud)
unpickle回到图像
im = Image.fromstring(**image)
Run Code Online (Sandbox Code Playgroud)