阅读原文点我
最佳解决办法
可以使用scipy.misc,代码如下:
import scipy.misc
scipy.misc.imsave('outfile.jpg', image_array)
上面的scipy版本会标准化所有图像,以便min(数据)变成黑色,max(数据)变成白色。如果数据应该是精确的灰度级或准确的RGB通道,则解决方案为:
import scipy.misc
scipy.misc.toimage(image_array, cmin=0.0, cmax=...).save('outfile.jpg')
第二种解决办法
使用PIL
给定一个numpy数组"A":
from PIL import Image
im = Image.fromarray(A)
im.save("your_file.jpeg")
第三种办法
纯Python(2& 3),没有第三方依赖关系的代码片段。 见原文
第四种办法
用matplotlib:
import matplotlib
matplotlib.image.imsave('name.png', array)
第五种办法
如果使用matplotlib,也可以这样做:
import matplotlib.pyplot as plt
plt.imshow(matrix) #Needs to be in row,col order
plt.savefig(filename)
第6种办法
python的opencv(http://docs.opencv.org/trunk/doc/py_tutorials/py_tutorials.html)。
import cv2
import numpy as np
cv2.imwrite("filename.png", np.zeros((10,10)))