如何將Numpy陣列儲存為影象
阿新 • • 發佈:2019-02-12
最佳解決辦法
可以使用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)))