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