Wie konvertiere ich ein Bild mit Pillow in ein Numpy-Array?

Jan 08, 2026

Eine Nachricht hinterlassen

Als vertrauenswürdiger Kissenlieferant sind wir nicht nur mit der Bereitstellung erstklassiger Kissen und Kissenbezüge bestens vertrautKissen aus reiner Gänsedaunen,Standard-Kissenbezüge aus Baumwolle, UndKissenbezüge für Dekokissen. Wir haben auch ein gutes Verständnis für verwandte Technologien, wie zum Beispiel die Konvertierung von Bildern in NumPy-Arrays mithilfe der Pillow-Bibliothek.

Einführung in Pillow und NumPy

Pillow ist eine leistungsstarke Python-Bildverarbeitungsbibliothek, die eine breite Palette an Bildverarbeitungsfunktionen bietet. Es ermöglicht Benutzern das Öffnen, Bearbeiten und Speichern verschiedener Bilddateiformate. Andererseits ist NumPy eine grundlegende Bibliothek für wissenschaftliches Rechnen in Python. Es bietet ein leistungsstarkes mehrdimensionales Array-Objekt und Tools für die Arbeit mit diesen Arrays. Das Konvertieren eines Bilds in ein NumPy-Array mit Pillow kann in verschiedenen Bereichen äußerst nützlich sein, darunter Computer Vision, maschinelles Lernen und Datenanalyse.

Voraussetzungen

Bevor wir uns mit dem Konvertierungsprozess befassen, muss Python auf Ihrem System installiert sein. Sie können Python von der offiziellen Python-Website herunterladen. Darüber hinaus müssen Sie die Bibliotheken Pillow und NumPy installieren. Sie können sie mit installierenPip, ein Paketinstallationsprogramm für Python:

Pip Install Pillow Numpy

Schritt-für-Schritt-Anleitung zum Konvertieren eines Bildes in ein NumPy-Array

Importieren der erforderlichen Bibliotheken

Der erste Schritt besteht darin, die zu importierenBildKlasse aus derPIL(Python Imaging Library, in unserem Fall die Pillow-Version) und dasNumpyBibliothek.

aus PIL importieren Bild numpy als np importieren

Öffnen des Bildes

Um mit der Konvertierung zu beginnen, müssen Sie eine Bilddatei mit öffnenoffenMethode derBildKlasse in Kissen. Angenommen, Sie haben eine Bilddatei mit dem Namenexample.jpgin Ihrem Arbeitsverzeichnis:

image = Image.open('example.jpg')

Konvertieren des Bildes in ein NumPy-Array

Nachdem Sie das Bild geöffnet haben, können Sie es einfach in ein NumPy-Array konvertieren, indem Sie das Bildobjekt an übergebennp.array()Funktion.

image_array = np.array(image)

Dernp.array()Die Funktion nimmt die Bilddaten und erstellt ein NumPy-Array, das das Bild darstellt. Die Form dieses Arrays hängt vom Bildtyp ab. Bei einem Farbbild (z. B. im RGB-Format) lautet die Form(Höhe, Breite, 3), wobei die letzte Dimension die drei Farbkanäle (Rot, Grün und Blau) darstellt. Bei einem Graustufenbild lautet die Form(Höhe, Breite).

Beispielcode

Hier ist der vollständige Beispielcode für die Konvertierung:

from PIL import Image import numpy as np # Öffnen Sie das Bild image = Image.open('example.jpg') # Konvertieren Sie das Bild in ein NumPy-Array image_array = np.array(image) # Drucken Sie einige Informationen über das Array print("Shape of the array:", image_array.shape) print("Data type of the array:", image_array.dtype)

In diesem Code drucken wir nach der Konvertierung des Bildes in ein NumPy-Array die Form und den Datentyp des Arrays aus. Der Datentyp ist normalerweiseuint8, was bedeutet, dass die Pixelwerte zwischen 0 und 255 liegen.

Arbeiten mit verschiedenen Bildmodi

Pillow unterstützt verschiedene Bildmodi, wie RGB, RGBA (RGB mit einem Alphakanal für Transparenz) und L (Graustufen). Beim Konvertieren von Bildern unterschiedlicher Modi in NumPy-Arrays ändern sich die resultierende Array-Form und die Eigenschaften entsprechend.

RGB-Bilder

Für RGB-Bilder verfügt das NumPy-Array, wie bereits erwähnt, über drei Kanäle. Jedes Pixel wird durch ein Triplett von Werten dargestellt, die den Intensitäten Rot, Grün und Blau entsprechen. So können Sie auf einzelne Kanäle zugreifen:

red_channel = image_array[:, :, 0] green_channel = image_array[:, :, 1] blue_channel = image_array[:, :, 2]

RGBA-Bilder

RGBA-Bilder verfügen über einen zusätzlichen Alphakanal für Transparenz. Die Form des resultierenden NumPy-Arrays wird sein(Höhe, Breite, 4). Sie können wie folgt auf den Alphakanal zugreifen:

Pillow Cases For Throw Pillows manufacturersPillow Cases For Throw Pillows factory

alpha_channel = image_array[:, :, 3]

Graustufenbilder

Graustufenbilder haben nur einen Kanal. Die Form des NumPy-Arrays ist ein 2D-Array(Höhe, Breite). Jedes Element im Array repräsentiert die Graustufenintensität eines Pixels.

Manipulieren des NumPy-Arrays

Sobald Sie das Bild als NumPy-Array haben, können Sie verschiedene Vorgänge daran ausführen. Sie können beispielsweise die Farbe eines bestimmten Bereichs im Bild ändern.

# Ändern Sie die Farbe eines rechteckigen Bereichs im Bild image_array[100:200, 100:200, :] = [255, 0, 0] # Stellen Sie den Bereich auf Rot ein # Wandeln Sie das geänderte Array zurück in ein Bild um Modified_image = Image.fromarray(image_array) # Speichern Sie das geänderte Bild Modified_image.save('modified_example.jpg')

In diesem Beispiel ändern wir die Farbe eines rechteckigen Bereichs im Bild in Rot. Dann konvertieren wir das geänderte NumPy-Array mithilfe von zurück in ein BildImage.fromarray()Methode und speichern Sie sie in einer Datei.

Anwendungen zum Konvertieren von Bildern in NumPy-Arrays

Computer Vision

Bei Computer-Vision-Aufgaben wie Objekterkennung, Bildsegmentierung und Gesichtserkennung müssen Bilder in einem numerischen Format verarbeitet werden. Durch die Konvertierung von Bildern in NumPy-Arrays können Algorithmen mathematische Operationen an den Bilddaten durchführen, beispielsweise Filterung, Kantenerkennung und Merkmalsextraktion.

Maschinelles Lernen

Viele Modelle des maschinellen Lernens, insbesondere Deep-Learning-Modelle zur Bildklassifizierung, Objekterkennung usw., erfordern Eingabedaten in Form von numerischen Arrays. Das Konvertieren von Bildern in NumPy-Arrays ist ein entscheidender Schritt bei der Vorbereitung der Daten für das Training und Testen dieser Modelle.

Datenanalyse

Bei der Analyse bildbezogener Daten ermöglicht die Konvertierung von Bildern in NumPy-Arrays eine statistische Analyse von Pixelwerten. Sie können beispielsweise den Mittelwert, den Median und die Standardabweichung der Pixelintensitäten in einem Bild berechnen.

Abschluss

Das Konvertieren eines Bilds in ein NumPy-Array mit Pillow ist ein unkomplizierter Prozess, der eine Welt voller Möglichkeiten in der Bildverarbeitung, Computer Vision und maschinellen Lernen eröffnet. Als Kissenlieferant wissen wir, wie wichtig Innovation und die Integration von Technologie in verschiedenen Bereichen sind. Egal, ob Sie hochwertige Kissen benötigenKissen aus reiner Gänsedaunen,Standard-Kissenbezüge aus Baumwolle, oderKissenbezüge für Dekokissenoder Sie Fragen zu den von uns besprochenen technischen Aspekten haben, wir sind hier, um Ihnen zu helfen.

Wenn Sie daran interessiert sind, unser Produktsortiment zu erkunden, oder spezielle Anforderungen für Großkäufe haben, empfehlen wir Ihnen, mit uns für ein umfassendes Beschaffungsgespräch Kontakt aufzunehmen. Wir freuen uns auf die Gelegenheit, Sie bedienen zu dürfen.

Referenzen

  • Offizielle Dokumentation des Kissens
  • Offizielle NumPy-Dokumentation
  • Offizielle Python-Dokumentation

Anfrage senden