433 Stimmen

Speichern eines Numpy-Arrays als Bild

Ich habe eine Matrix in der Art eines Numpy-Arrays. Wie würde ich sie als Bild auf die Festplatte schreiben? Jedes Format funktioniert (png, jpeg, bmp...). Eine wichtige Randbedingung ist, dass PIL nicht vorhanden ist.

66voto

dF. Punkte 70587

Sie können verwenden PyPNG . Es ist ein reiner Python (keine Abhängigkeiten) Open-Source PNG Encoder/Decoder und es unterstützt Schreiben von NumPy-Arrays als Bilder.

31voto

nima farhadi Punkte 588

Um ein Numpy-Array als Bild zu speichern, haben Sie mehrere Möglichkeiten:

1) das Beste der anderen: OpenCV

 import cv2   
 cv2.imwrite('file name with extension(like .jpg)', numpy_array)

2) Matplotlib

  from matplotlib import pyplot as plt
  plt.imsave('file name with extension(like .jpg)', numpy_array)

3) PIL

  from PIL import Image
  image = Image.fromarray(numpy_array)
  image.save('file name with extension(like .jpg)')

4) ...

30voto

DopplerShift Punkte 4420

Wenn Sie matplotlib haben, können Sie tun:

import matplotlib.pyplot as plt
plt.imshow(matrix) #Needs to be in row,col order
plt.savefig(filename)

Dadurch wird die Darstellung gespeichert (nicht die Bilder selbst). enter image description here

21voto

Sefa Punkte 360

scipy.misc gibt eine Verwerfungswarnung über imsave Funktion und schlägt die Verwendung von imageio stattdessen.

import imageio
imageio.imwrite('image_name.png', img)

18voto

PURNENDU MISHRA Punkte 423

Sie können die 'skimage'-Bibliothek in Python verwenden

from skimage.io import imsave
imsave('Path_to_your_folder/File_name.jpg',your_array)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X