2.4 KiB
OpenCV in Python
Die beliebte Bildverarbeitungs-Software OpenCV existiert auch in Python. In dieser Übung sollen Sie einige Befehle erlernen, um grundlegende Funktionen mit OpenCV zu schreiben.
Um OpenCV zu nutzen, müssen Sie zuerst das Paker cv2 installieren. Wenn Sie dieses Repository installiert haben, ist das bereits geschehen. Es wird für die folgenden Schritte davon ausgegangen, das cv2 bereits installiert ist. Importieren Sie zu Beginn Ihres Skriptes das OpenCV Paket mit dem Befehl
import cv2
Nun können Sie alle Funktionen von OpenCV mit dem vorangestellten Kürzel cv2.EIN_BEFEHL() nutzen.
Bild laden
Bilder werden als MxN Matrizen (Grau- und Binärbilder) oder als MxNx3 Arrays (RGB-Farbbilder)
gespeichert und interpretiert. Um ein Bild einzulesen, wird die Funktion cv2.imread(PFAD_ZUM_BID) aufgerufen
und der Dateiname als Parameter in den Klammern übergeben.
I = cv2.imread('myimage.bmp') # Farbbild einlesen
Mit dem Befehl Ì.shape kann die Größe einer Matrix bestimmt werden.
m, n, k = I.shape # Größe ansehen
Bei einer Bildmatrix: Der erste Index ist der Zeilenindex (Bildkoordinaten: y-Achse), der zweite Index ist der Spaltenindex (Bildkoordinaten: x-Achse), wobei der Punkt (0,0) dem linken oberen Bildpunkt entspricht. Der dritte Index ist der Farbkanal.
Bild anzeigen
Zum Anzeigen eines Bildes steht die Funktion cv2.imshow() zur Verfügung. Der Name des Fensters und die Bildvariable wird als
Parameter übergeben. Ein neues Fenster öffnet sich und zeigt das Bild an.
cv2.imshow("Fenstername", I) #Bild anzeigen
cv2.waitKey(0) # Auf Tastendruck warten
Der Befehl cv2.waitKey(TIME) wird benötigt, damit das Programm auf eine Aktion des Benutzers wartet. Wenn der Parameter
dabei 0 ist, wartet das Programm unendlich lange auf den nächsten Tastendruck des Nutzers.
Bild speichern
Zum Abspeichern der Bilddaten steht die Funktion cv2.imwrite(SPEICHER_PFAD, BILD) zur Verfügung. Die Bildvariable wird
als zweite Parameter und der Dateiname in Hochkommata als erster Parameter übergeben.
cv2.imwrite('newimage.bmp', I) # Bilddaten abpeichern
Wenn die Verzeichnisstruktur nicht angegeben wird, speichert Python die Datei im aktuellen Arbeitsverzeichnis.
Aufgabe a)
Implementieren und testen Sie alle Funktion in einem neuen Skript a.py!