Python ist eine leistungsstarke Programmiersprache mit einer großen Anzahl an Bibliotheken und Modulen. Eine solche Bibliothek ist NumPy, die für numerische Berechnungen und die Verarbeitung großer mehrdimensionaler Arrays und Matrizen verwendet wird. Eine weitere beliebte Bibliothek für die Bildverarbeitung in Python ist Pillow, eine Abzweigung der Python Imaging Library (PIL).
In diesem Tutorial zeigen wir Ihnen, wie Sie mit Python ein Bild in ein NumPy-Array konvertieren und es in einer CSV-Datei speichern. Wir verwenden die Pillow-Bibliothek, um das Bild zu öffnen und in ein NumPy-Array zu konvertieren, und das CSV-Modul, um das NumPy-Array in einer CSV-Datei zu speichern. Im nächsten Teil dieses Artikels werden wir die erforderlichen Schritte zum Konvertieren eines Bilds in ein NumPy-Array mithilfe der Pillow-Bibliothek behandeln. Also, fangen wir an!
Bevor wir uns mit der Konvertierung eines Bilds in ein NumPy-Array und dem Speichern in einer CSV-Datei befassen, werfen wir zunächst einen Blick auf die beiden Bibliotheken, die wir in diesem Tutorial verwenden werden: Pillow und NumPy.
Pillow ist eine Python Imaging Library (PIL), die das Öffnen, Bearbeiten und Speichern vieler verschiedener Bilddateiformate unterstützt.
NumPy ist die Basisbibliothek für wissenschaftliches Rechnen in Python. Es bietet Unterstützung für große mehrdimensionale Arrays und Matrizen sowie eine Reihe mathematischer Funktionen, die damit arbeiten.
Um diese Bibliotheken nutzen zu können, müssen wir sie zunächst auf unserem System installieren. Wir können dies mit dem Python-Paketinstallationsprogramm pip tun.
So installieren Sie Pillow:
pip install Pillow
So installieren Sie NumPy:
pip install numpy
Da wir nun die notwendigen Bibliotheken installiert haben, fahren wir mit dem nächsten Teil dieses Artikels fort, der Konvertierung von Bildern in NumPy-Arrays.
Betrachten Sie den folgenden Code, der ein Bild in ein Numpy-Array konvertiert:
# Import necessary libraries import csv from PIL import Image import numpy as np # Open image using Pillow library img = Image.open('image.jpg') # Convert image to NumPy array np_array = np.array(img) # Save NumPy array to CSV file np.savetxt('output.csv', np_array, delimiter=',', fmt='%d') # Print the shape of the NumPy array print("Shape of NumPy array:", np_array.shape)
Im obigen Code importieren wir zunächst die notwendigen Bibliotheken csv, PIL und numpy. Die CSV-Bibliothek wird zum Lesen und Schreiben von CSV-Dateien verwendet, während die PIL-Bibliothek zum Öffnen und Bearbeiten von Bildern verwendet wird. Die NumPy-Bibliothek wird zum Konvertieren von Bildern in NumPy-Arrays verwendet.
Dann öffnen wir eine Bilddatei namens image.jpg mit der Methode Image.open() aus der PIL-Bibliothek. Diese Methode gibt ein Image-Objekt zurück.
Danach verwenden Sie die Methode np.array() aus der NumPy-Bibliothek, um das Bildobjekt in ein NumPy-Array zu konvertieren. Das resultierende Array enthält die Pixelwerte des Bildes. Schließlich speichern wir das NumPy-Array mithilfe der Methode np.savetxt() aus der NumPy-Bibliothek in einer CSV-Datei mit dem Namen „output.csv“. Wir geben das Trennzeichen als „“, und das Format als %d an, um sicherzustellen, dass die Werte in der CSV-Datei durch Kommas getrennt und ganze Zahlen sind.
Schließlich haben wir die Form des NumPy-Arrays mithilfe der Shape-Eigenschaft gedruckt. Die Form eines NumPy-Arrays stellt die Abmessungen des Arrays dar, in diesem Fall die Höhe, Breite und Anzahl der Farbkanäle (falls zutreffend).
Die Ausgabe des obigen Codes erstellt eine neue Datei mit dem Namen „output.csv“ im selben Verzeichnis wie das Skript, die die Bildpixelwerte im CSV-Format enthält, und das Terminal zeigt Folgendes an:
Shape of NumPy array: (505, 600, 3)
Hier ist die Form des NumPy-Arrays (505, 600, 3), was bedeutet, dass die Höhe und Breite des Bildes jeweils 100 Pixel betragen und jedes Pixel 3 Farbkanäle (RGB) hat.
Es ist zu beachten, dass die Form des NumPy-Arrays von den Abmessungen des Eingabebilds abhängt. Wenn es sich bei dem Bild um ein Farbbild handelt, beträgt die Form des Arrays (Höhe, Breite, Anzahl der Farbkanäle). Wenn es sich bei dem Bild um ein Graustufenbild handelt, beträgt die Form des Arrays (Höhe, Breite).
In diesem Artikel haben wir gelernt, wie man mit Python ein Bild in ein NumPy-Array konvertiert und es in einer CSV-Datei speichert. Wir verwenden die Pillow-Bibliothek, um das Bild zu öffnen und in ein NumPy-Array zu konvertieren, und verwenden das CSV-Modul, um das NumPy-Array in einer CSV-Datei zu speichern. Wir behandeln auch die Schritte, die zur Installation der erforderlichen Bibliotheken erforderlich sind, und stellen Beispielcode für jede Methode bereit. Es ist wichtig zu beachten, dass die Form des NumPy-Arrays von den Abmessungen des Eingabebilds abhängt und die Array-Form für Farb- und Graustufenbilder unterschiedlich ist. Mit dieser Technik können wir Bilder mithilfe der leistungsstarken NumPy-Bibliothek einfach manipulieren und verarbeiten.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich ein Bild mit Python in ein NumPy-Array und speichere es als CSV-Datei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!