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.
Importieren Sie die erforderlichen Bibliotheken
Zunächst importieren wir die erforderlichen Bibliotheken. Sie werden die cv2-Bibliothek für die Bildverarbeitung verwenden. Verwenden Sie import, um sie zu importieren.
Vorbereitung
Öffnen Sie die Python-Shell, indem Sie den folgenden Befehl im Terminal auf dem VM-Desktop eingeben.
python3
Details
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.
Lesen eines Bildes
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
Details
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.')
Hinweis
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.
Anzeigen des Bildes
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.
Details
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()
HINWEIS
- Sie können den
window_namein Ihrem Code ändern und das Ergebnis betrachten. - Sie können den Parameter von
waitKeyin Ihrem Code ändern und das Ergebnis betrachten. - Der Einfachheit halber haben wir in diesem Schritt die Prüfung auf die korrekte Bildladung entfernt.
- Beachten Sie, dass Sie einen Python-Interpreter verwenden, daher endet das Programm nicht unmittelbar nach
imshow. Wenn Sie jedoch eine Python-Datei ausführen, müssen SiewaitKeyverwenden, um sicherzustellen, dass das Fenster nachimshownicht schließt.
Schreiben eines Bildes in eine Datei
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.
Details
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)
Hinweis
- In diesem Fall speichern wir das Bild im PNG-Format (Image.png). Das Bild wird im gleichen Verzeichnis (/home/labex/Desktop/) wie das Python-Skript gespeichert.
- Der Einfachheit halber haben wir in diesem Schritt die Prüfung auf die korrekte Bildladung entfernt.
Zusammenfassung
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!



