Einführung
Dieses Tutorial vermittelt Ihnen die Grundlagen der Arbeit mit Bildern mithilfe der OpenCV-Python-Bibliothek. Am Ende dieses Tutorials können Sie Bilder lesen, anzeigen und speichern.
💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken
Dieses Tutorial vermittelt Ihnen die Grundlagen der Arbeit mit Bildern mithilfe der OpenCV-Python-Bibliothek. Am Ende dieses Tutorials können Sie Bilder lesen, anzeigen und speichern.
Zunächst importieren wir die erforderlichen Bibliotheken. Sie werden die cv2
-Bibliothek für die Bildverarbeitung verwenden. Verwenden Sie import
, um sie zu importieren.
Öffnen Sie die Python-Shell, indem Sie den folgenden Befehl im Terminal auf dem VM-Desktop eingeben.
python3
Geben Sie python3
ein, um den Python-Interpreter zu starten. Geben Sie dann den folgenden Code ein.
import cv2
Danach können Sie die cv2
-Bibliothek in Ihrem Code verwenden.
Um ein Bild aus einer Datei zu lesen, verwenden wir die Funktion cv2.imread()
. Die Funktion nimmt den Dateipfad als Argument und gibt das Bild als NumPy-Array zurück.
Der Bildpfad lautet /home/labex/Desktop/Image.jpg
Geben Sie python
ein, um den Python-Interpreter zu starten. Geben Sie dann den folgenden Code ein.
## Read the image
image = cv2.imread('/home/labex/Desktop/Image.jpg')
## Check if the image is loaded correctly
if image is None:
print('Error: Image not found.')
else:
print('Image loaded successfully.')
Die Funktion cv2.imread()
gibt None
zurück, wenn das Bild nicht gefunden wird. In diesem Fall geben wir eine Fehlermeldung aus. Andernfalls geben wir eine Erfolgsmeldung aus.
Um das Bild anzuzeigen, verwenden wir die Funktion cv2.imshow()
. Die Funktion nimmt zwei Argumente entgegen: den Fenstername und das anzuzeigende Bild.
Außerdem verwenden wir die Funktion cv2.waitKey()
, um auf eine Tastatureingabe zu warten. Dies ist erforderlich, um das Fenster geöffnet zu halten, bis der Benutzer eine Taste drückt. Die Funktion cv2.waitKey()
nimmt ein einzelnes Argument entgegen, nämlich die Anzahl der Millisekunden, die auf eine Tastatureingabe gewartet werden soll. Wenn der Benutzer innerhalb der angegebenen Zeit eine Taste drückt, gibt die Funktion den Tastencode zurück. Andernfalls gibt sie -1
zurück. In diesem Fall übergeben wir 0
, um unbegrenzt auf eine Tastatureingabe zu warten.
Schließlich verwenden wir die Funktion cv2.destroyAllWindows()
, um alle Fenster zu schließen. Dies ist optional, aber es ist eine gute Praxis, alle Fenster zu schließen, bevor das Python-Interpreter
-Programm beendet wird.
Geben Sie python
ein, um den Python-Interpreter zu starten. Geben Sie dann den folgenden Code ein.
window_name = 'Image'
## Display the image, image has been loaded in the previous steps
cv2.imshow(window_name, image)
## Wait for a key press and close the window
cv2.waitKey(0)
## destroy the window after you showing the image
cv2.destroyAllWindows()
window_name
in Ihrem Code ändern und das Ergebnis betrachten.waitKey
in Ihrem Code ändern und das Ergebnis betrachten.imshow
. Wenn Sie jedoch eine Python-Datei ausführen, müssen Sie waitKey
verwenden, um sicherzustellen, dass das Fenster nach imshow
nicht schließt.Um ein Bild in einem anderen Format zu speichern, verwenden wir die Funktion cv2.imwrite()
. Die Funktion nimmt zwei Argumente entgegen: den Dateipfad und das zu speichernde Bild.
Geben Sie python
ein, um den Python-Interpreter zu starten. Geben Sie dann den folgenden Code ein.
## Save the image in a different format, image has been loaded in the previous steps
cv2.imwrite('/home/labex/Desktop/Image.png', image)
Jetzt kennen Sie die Grundlagen der Arbeit mit Bildern mithilfe der OpenCV-Python-Bibliothek. Sie können mit verschiedenen Bildformaten experimentieren und fortgeschrittenere Operationen wie Größenänderung, Zuschneiden und Filtern erkunden. Viel Spaß beim Programmieren!