1. 程式人生 > >如何將Numpy陣列儲存為影象

如何將Numpy陣列儲存為影象

最佳解決辦法

可以使用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)))