最佳解决办法
可以使用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)))