可拾取图像对象

时间:2012-04-12 05:49:12

标签: python python-imaging-library pickle

如何从PIL Image对象创建一个pickleable文件,以便您可以将这些图像保存为单个pickle文件,然后可以上传到另一台计算机,例如运行PIL的服务器并在那里取消它?

2 个答案:

答案 0 :(得分:16)

您可以将Image对象转换为数据,然后您可以将其腌制:

image = {
    'pixels': im.tostring(),
    'size': im.size,
    'mode': im.mode,
}

回到图片:

im = Image.fromstring(image['mode'], image['size'], image['pixels'])

注意:提及astex,如果您使用Pillow(建议使用Pill而不是PIL),tostring()方法已弃用tobytes() 。与fromstring()的{​​{1}}相同。

答案 1 :(得分:9)

使用关键字args

对Gerald的回答略有不同

创建pickleable对象

image = {'data': im.tostring(), 'size':im.size, 'mode':im.mode}

image = dict(data=im.tostring(), size=im.size, mode=im.mode)

取消回到图像

im = Image.fromstring(**image)