如果你有numpy和scipy可用(如果您在Python中操作大型数组,我会推荐它们),那么scipy.misc.pilutil.toimage函数非常方便。
一个简单的例子:
import numpy as np
import scipy.misc as smp
# Create a 1024x1024x3 array of 8 bit unsigned integers
data = np.zeros( (1024,1024,3), dtype=np.uint8 )
data[512,512] = [254,0,0] # Makes the middle pixel red
data[512,513] = [0,0,255] # Makes the next pixel blue
img = smp.toimage( data ) # Create a PIL image
img.show() # View in default viewer
令人愉快的是,图像处理不同的数据类型非常好,所以二维数组的浮点数字被明智地转换为灰度级。