Bildverarbeitung · OpenCV · Programming · Python

Bilder einlesen mit OpenCV+Python

Ich bin gerade dabei mich wieder etwas mehr mit rechnergestützter Bildverarbeitung zu beschäftigen. Als Hilfsmittel verwende ich OpenCV und Python. OpenCV ist eine sehr mächtige, freie Programmbibliothek die viele stark optimierte Algorithmen zur Bildverarbeitung bereitstellt. Da Python seit einigen Jahren meine absolute Lieblingsscriptsprache ist habe ich mich dazu entschieden zukünftige Projekte mit Python anzugehen. Ich verwende Python in der Version ‚2.7.13‘. Ab Version 3.0 haben sich Teile der Python Syntax geändert, wenn sich meine Beispiele also nicht ausführen lassen könnte es daran liegen. Ich verwende OpenCV in der Version ‚3.2.0‘.

Zu Beginn erstmal eine Fingerübung.

import cv2
img = cv2.imread('bild.png',cv2.IMREAD_GRAYSCALE)

cv2.imshow('Hallo Welt',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

In der ersten Zeile wird die OpenCV Bibliothek geladen. Mit imread() werden die Bilddaten aus einer Bilddatei dessen Pfad im ersten Argument angegeben wird als Numpy Array in eine Variable geschrieben. Mit dem Flag im zweiten Argument definieren wir das wir ein Grauwertbild haben wollen. Alternative Flags wären cv2.IMREAD_COLOR für alle drei Farbkanäle oder cv2.IMREAD_UNCHANGED für die Farbkanäle und die Alphakanäle (für Transparenz).

imshow() erstellt ein Fenster im Speicher. Die Argumente sind der Fenstername und die Bildmatrix.

waitKey() zeigt alle mit imshow() erstellten Fenster an und wartet eine Anzahl an Millisekunden die im Argument mitgegeben werden oder bis eine Taste gedrückt wird. Bei waitKey(0) ausschließlich auf eine Taste gewartet. Als Returnwert liefert diese Funktion übrigens die gedrückte Taste.

destroyAllWindows() räumt letztendlich den Speicher wieder auf.

Werbeanzeigen

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s