NumPy-Array als Bild speichern in Python

Manav Narula 30 Januar 2023
  1. Verwenden die Funktion Image.fromarray() zum ein NumPy Array als Image zu speichern
  2. Verwenden die Funktion imageio.imwrite() zum ein NumPy Array als Image zu speichern
  3. Verwenden die Funktion matplotlib.pyplot.imsave() zum ein NumPy-Array als Image zu speichern
  4. Verwenden die Funktion cv2.imwrite() zum ein NumPy-Array als Image zu speichern
NumPy-Array als Bild speichern in Python

In Python wird das NumPy-Modul verwendet, um mit Arrays zu arbeiten. In Python sind viele Module verfügbar, mit denen wir Bilder lesen und speichern können.

Bilder können als eine Anordnung verschiedener Pixel betrachtet werden, die an bestimmten Positionen mit entsprechenden Farbcodes gespeichert sind. Es kann also vorkommen, dass wir ein Array konvertieren und als Image speichern müssen.

In diesem Tutorial wird erläutert, wie Sie ein NumPy-Array als Bild speichern.

Verwenden die Funktion Image.fromarray() zum ein NumPy Array als Image zu speichern

Mit der Funktion fromarray() wird aus einem Objekt, das das Array exportiert, ein Bildspeicher erstellt. Wir können diesen Bildspeicher dann an unserem gewünschten Speicherort speichern, indem wir den erforderlichen Pfad und den Dateinamen angeben.

Beispielsweise,

import numpy as np
from PIL import Image

array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))

im = Image.fromarray(array)
im.save("filename.jpeg")

Wir erstellen zuerst ein Array, in dem RGB-Farbcodes gespeichert und dann exportiert werden. Wir können das gewünschte Format unseres Bildes im Dateinamen angeben. Dies kann jpeg, png oder ein anderes häufig verwendetes Bildformat sein. Dies gilt für alle unten diskutierten Methoden.

Verwenden die Funktion imageio.imwrite() zum ein NumPy Array als Image zu speichern

Zuvor hatte das scipy-Modul die Funktion imsave(), um numpy-Arrays als Bilder zu speichern. In neueren Versionen wurde es jedoch veraltet und die Funktion imwrite() von image.io() wurde empfohlen, diese Aufgabe auszuführen, und wurde aufgrund ihrer Einfachheit immer beliebter.

Der folgende Code zeigt, wie diese Funktion verwendet wird.

import imageio
import numpy as np

array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))

imageio.imwrite("filename.jpeg", array)

Verwenden die Funktion matplotlib.pyplot.imsave() zum ein NumPy-Array als Image zu speichern

Das matplotlib-Modul verfügt über eine Vielzahl von Funktionen zum Arbeiten mit Bildern.

Mit der Funktion imsave() kann ein Array als Bilddatei gespeichert werden.

Beispielsweise,

import matplotlib.pyplot as plt
import numpy as np

array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))

plt.imsave("filename.jpeg", array)

Verwenden die Funktion cv2.imwrite() zum ein NumPy-Array als Image zu speichern

Das OpenCV-Modul wird häufig für die Bildverarbeitung in Python verwendet. Die Funktion imwrite() dieses Moduls kann ein NumPy-Array als Bilddatei exportieren.

Beispielsweise,

import cv2
import numpy as np

array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))

cv2.imwrite("filename.jpeg", array)
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn