Konvertieren von das PIL-Image in ein NumPy-Array

Konvertieren von das PIL-Image in ein NumPy-Array

Muhammad Maisam Abbas Jun-22, 2021 May-09, 2021 NumPy NumPy PIL
  1. Konvertieren von das PIL-Bild in ein NumPy-Array mit der Funktion numpy.array() in Python
  2. Konvertieren von das PIL-Bild in ein NumPy-Array mit der Funktion numpy.asarray() in Python

In diesem Tutorial werden die Methoden zum Konvertieren eines PIL-Bilds in ein dreidimensionales NumPy-Array in Python erläutert.

Konvertieren von das PIL-Bild in ein NumPy-Array mit der Funktion numpy.array() in Python

PIL wird verwendet, um verschiedene Operationen an Bildern in Python auszuführen. Die Pillow-Bibliothek ist nicht mit der Programmiersprache Python vorinstalliert. Also müssen wir es zuerst installieren. Der Befehl zum Installieren der Kissenbibliothek ist unten angegeben.

pip install Pillow

Wenn wir ein von der PIL-Bibliothek gelesenes Bild in ein NumPy-Array konvertieren möchten, können wir die Funktion numpy.array() verwenden. Die Funktion numpy.array() erstellt und initialisiert numpy-Arrays. Die Funktion numpy.array() konvertiert das PIL-Bild in ein dreidimensionales Array. Siehe das folgende Codebeispiel.

import numpy as np
from PIL import Image
img = Image.open("NASA.jpg")
imgArray = np.array(img)
print(imgArray.shape)

Ausgabe:

(90, 240, 3)

Im obigen Code haben wir das PIL-Bild img mit der Funktion numpy.array() in ein dreidimensionales NumPy-Array imgArray konvertiert. Wir lesen das Bild in der Variablen img mit der Funktion Image.open() in Python. Wir haben dann das img mit der Funktion numpy.array() in Python in das NumPy-Array imgArray konvertiert. Am Ende haben wir die Form des imgArray mit der Funktion print() gedruckt.

Konvertieren von das PIL-Bild in ein NumPy-Array mit der Funktion numpy.asarray() in Python

Wir können auch die Funktion numpy.asarray() verwenden, um dasselbe Ziel wie im vorherigen Beispiel zu erreichen. Die Funktion numpy.asarray() erstellt und initialisiert auch ein numpy-Array. Wir können ein PIL-Bild in ein numPy-Array konvertieren, indem wir das Bild an die Funktion numpy.asarray() übergeben. Siehe das folgende Codebeispiel.

import numpy as np
from PIL import Image
img = Image.open("NASA.jpg")
imgArray = np.asarray(img)
print(imgArray.shape)

Ausgabe:

(90, 240, 3)

Im obigen Code haben wir das PIL-Bild img mit der Funktion numpy.array() in Python in das dreidimensionale NumPy-Array imgArray konvertiert. Wir haben die Variable in der Variable img mit der Funktion Image.open() in Python geladen. Anschließend haben wir das Bild img mit der Funktion numpy.asarray() in Python in das NumPy-Array imgArray konvertiert. Am Ende haben wir die Form des imgArray mit der Funktion print() gedruckt.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn