51 lines
2.4 KiB
Markdown
51 lines
2.4 KiB
Markdown
# 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
|
|
|
|
````python
|
|
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.
|
|
````python
|
|
I = cv2.imread('myimage.bmp') # Farbbild einlesen
|
|
````
|
|
Mit dem Befehl ``Ì.shape`` kann die Größe einer Matrix bestimmt werden.
|
|
````python
|
|
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.
|
|
|
|
````python
|
|
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.
|
|
````python
|
|
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](a.py)! |