Die Bildverarbeitung ist eines der wesentlichen Module, die in jeder Programmiersprache verfügbar sein müssen, insbesondere wenn es um maschinelles Lernen oder tiefes Lernen geht. Die Python -Programmiersprache wird für alle Arten von maschinellem Lernen und tiefem Lernen sehr empfohlen, und wenn es um die Bildverarbeitung geht, bietet Python die Scipy -Bibliothek an. Die Scipy -Bibliothek in Python verfügt. In diesem Artikel werden wir erklären, was Bildverarbeitung ist und wie sie mit dem NDIMage -Submodul der Scipy -Bibliothek erledigt werden kann.
Was ist Bildverarbeitung in der Python -Programmiersprache?
Jede Arbeit mit einem Bild wird als Bildverarbeitung bezeichnet, ich.e., Lesen, Schreiben, Ändern, Manipulieren usw. auf Bildern durchgeführt, um aussagekräftige Informationen von ihnen zu extrahieren. Um Bilder zu manipulieren oder zu transformieren, wird die Python -Programmiersprache am häufigsten verwendet. Die häufigsten Aufgaben, die für die Bildverarbeitung ausgeführt werden können. Alle diese Funktionen können leicht auf Bildern mit der Scipy Library und ihrem NDIMage -Modul ausgeführt werden.
Was ist scipy ndimage?
Das Ndimage steht für n-dimensionales Bild und wird von der Scipy-Bibliothek als Modul bereitgestellt. Es besteht aus einer Vielzahl von Funktionen FMOR -Bildverarbeitung und -analyse. Mehrere Aufgaben im Zusammenhang mit der Bildverarbeitung, ich.e., Merkmale, Eingang, Ausgabe, Flipping, Drehung, Klassifizierung usw., Kann mit dem Ndimage -Modul durchgeführt werden. Das Ndimage -Paket der Scipy Library ist dem Betrieb mit Arrays von N -Dimensionen gewidmet. Es enthält Funktionen für Objektmessungen, binäre Morphologie, lineare Filterung, B-Spline-Interpolation und nichtlineare Filterung. Wir werden die Funktion des NDIMage -Moduls mit Beispielen erläutern, die Ihnen helfen, zu verstehen, wie diese Funktionen funktionieren.
Beispiel 1:
Hier erklären wir die "Korrelate" -Methode des NDIMage -Moduls. Die Korrelatmethode des Ndimage -Moduls funktioniert als mehrdimensionale Korrelation. Die "Korrelat" -Methode wird verwendet, um das Bild mit dem angegebenen Kernel zu korrelieren. Die "Korrelate" -Methode für die Bildverarbeitung wird verwendet, um den Kernel über das Bild zu bewegen und die Produktsumme an jedem Ort zu berechnen. Siehe den Beispielcode im Snippet unten:
Numph als NP importieren
von Scipy.Ndimage -Import korrelieren
drucken (korrelieren (NP.Arange (100), [2, 4.5])))
Hier haben wir damit begonnen, die Numpy -Bibliothek als NP im Programm zu importieren, damit wir ihre relevanten Funktionen im Programm weiter nutzen konnten. Danach haben wir die Scipy -Bibliothek zusammen mit ihrem NDIMage -Modul und Korrelatmethode importiert. Denken Sie daran, dass Sie alle Bibliotheken und Module in das Programm einbeziehen müssen, um ihre relevanten Methoden und Funktionen zu verwenden. Wenn Sie die Bibliotheken nicht einfügen, werden Sie sich am Ende mit Fehlern und Fehler befassen. Die Funktionen und Methoden der Python -Programmiersprache funktionieren nicht, ohne ihre übergeordneten Bibliotheken in das Programm zu importieren.
Alle erforderlichen Bibliotheken werden importiert, und wir können am Hauptcode anfangen, am Hauptcode zu arbeiten. Beachten Sie, dass wir die Anordnungsfunktion mit der NP -Variablen verwendet haben, die die Numpy -Bibliothek darstellt, um ein Array von 100 Werten zu erstellen. Die Gewichte [2, 4.5] werden dem Array zugewiesen, und sowohl das Array als auch das Gewicht werden an die Korrelatfunktion übergeben. Lassen Sie uns nun sehen, welches Array vom NDIMAG produziert wurde.Korrelatefunktion. Die Ausgabe ist unten angegeben:
Beispiel 2:
Im vorherigen Beispiel müssen Sie bemerkt haben, dass das erzeugte Array trotz Gewicht einer schwebenden Punktzahl in ganzzahligen Zahlen liegt. Dies liegt daran, dass die Korrelatfunktion standardmäßig eine ganzzahlige Zahl erzeugt. Daher müssen Sie ausdrücklich erwähnen, wie Sie Ihr Ausgabearray erhalten möchten. Lassen Sie uns sehen, wie Sie dies erreichen können, indem Sie die im folgenden Code -Snippet angegebenen Codezeilen überprüfen:
Numph als NP importieren
von Scipy.Ndimage -Import korrelieren
drucken (korrelieren (NP.Arange (100), [2, 4.5], Ausgabe = NP.float64))
Auch hier werden die erforderlichen Bibliotheken und Module in das Programm und dann in das NDIMage importiert.Korrelatefunktion heißt. Wie Sie sehen können, wird der Datentyp des Ausgabearrays als "Flaot64" bereitgestellt, was bedeutet, dass das resultierende Array schwimmende Punktzahlen hat. Siehe das resultierende Ausgangsarray im folgenden Screenshot:
Beispiel 3:
Wie wir wissen, werden Bilder durch mehrdimensionale Arrays dargestellt, da jede Zahl im Array ein Pixel des Bildes darstellt. Hier verwenden wir also die Korrelatfunktion für das 1D -Array. Um mit dem 1D -Kernel zu arbeiten und den Filter auf dem Bild zu verschieben, haben wir die Korrelate1D -Funktion. Siehe den Beispielcode im Code -Snippet unten:
Numph als NP importieren
von Scipy.Ndimage Import Correlate1D
arr = [1, 2, 2, 1, 1, 2]
print (correlate1d (arr, [1, 2, 1]))
Hier erklären wir, wie Sie den Ursprung des Kernels mit der Korrelate1D -Funktion verwalten können. Normalerweise befindet sich der Kernelursprung im Zentrum, der durch Teilen der Abmessungen der Kernform durch 2 berechnet wird. Im oben angegebenen Code -Snippet können Sie feststellen. Das Array mit seinen entsprechenden Gewichten wurde an die Korrelate1D -Funktion übergeben. Lassen Sie uns nun sehen, wie die Korrelate1D -Funktion den Ursprung des Kernels des angegebenen Arrays findet. Das Ergebnis ist unten:
Beispiel 4:
Zunächst haben wir gelernt, wie die Korrelate1d -Funktion den Ursprung des Kernels findet; Lassen Sie uns nun lernen, wie wir den Ursprung des Kernels explizit verändern können. Manchmal ist es erforderlich, den Ursprung eines anderen Kernels auszuwählen als das Zentrum. Dafür haben wir den Parameter „Origin“. Mit dem an die Korrelate1D -Funktion übergebenen Ursprungsparameter können Sie bequem einen anderen Ursprung des Kernels auswählen.
Numph als NP importieren
von Scipy.Ndimage Import Correlate1D
arr = [1, 2, 2, 1, 1, 2]
print (correlate1d (arr, [1, 2, 1], Origin = -1))
Das Ergebnis der Auswahl eines anderen Kernels für den Filter ist in der folgenden Ausgabe angegeben:
Beispiel 5:
Lassen Sie uns lernen, das Array nach Bedarf neu zu gestalten. Bilder können umgeformt, modifiziert, gedreht, beschnitten usw. umgedreht werden usw. mit den Bildverarbeitungsfunktionen. Hier führen wir Sie dazu, wie Sie das Array mit der Correlate1D -Funktion neu gestalten können. Die Umgestellungsfunktion wird von der Numpy -Bibliothek bereitgestellt, daher wird sie mit der NP -Variablen verwendet. Siehe den Beispielcode im Code -Snippet unten:
Numph als NP importieren
von Scipy.Ndimage Import Correlate1D
arr = np.Arange (100).Umform (20, 5)
print (correlate1d (arr, [1, 2, 1]))
Das erzeugte Array enthält 100 Elemente in 20 Zeilen und 5 Spalten. Siehe das resultierende Array unten:
Abschluss
In diesem Artikel haben wir die Bildverarbeitung in der Python -Programmiersprache gelernt. Die Bildverarbeitung ist ein sehr wesentliches Merkmal jeder Programmiersprache, da die Arbeit mit Bildern häufiger geworden ist als mit Rohdaten zu arbeiten. Daher bietet Python Funktionen für die Arbeit mit Bildern in verschiedenen Bibliotheken wie Numpy, Scipy usw. Hier haben wir das NDIMage -Modul mit Korrelat- und Korrelate -Funktionen verwendet, um für die Bildverarbeitung mit mehrdimensionalen Arrays zu arbeiten.