Bemerkung

Hallo, willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Community auf Facebook! Tauchen Sie mit anderen Enthusiasten tiefer in Raspberry Pi, Arduino und ESP32 ein.

Warum beitreten?

  • Expertenunterstützung: Lösen Sie Probleme nach dem Kauf und technische Herausforderungen mit Hilfe unserer Community und unseres Teams.

  • Lernen & Teilen: Tauschen Sie Tipps und Tutorials aus, um Ihre Fähigkeiten zu verbessern.

  • Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und Sneak Peeks.

  • Sonderrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.

  • Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.

👉 Bereit, mit uns zu entdecken und zu gestalten? Klicken Sie auf [here] und treten Sie noch heute bei!

1. Bild anzeigen

In diesem Kapitel betrachten wir ein einfaches Beispiel, mit dem Sie schnell die grundlegende Verwendung von OpenCV kennenlernen: Ein Bild lesen und anzeigen.

Im Beispielprojektordner haben wir bereits ein Beispielbild mit dem Namen my_photo.jpg vorbereitet. Sie können auch das Beispiel 3.1 Fotomodul verwenden, um ein Foto aufzunehmen und im aktuellen Ordner zu speichern.

1. Projektübersicht

In diesem Abschnitt führen wir folgende Aufgaben aus:

  • Verwenden von cv2.imread, um ein lokales Bild zu laden

  • Verwenden von cv2.imshow, um das Bild anzuzeigen

  • Verwenden von cv2.waitKey, um das Verhalten des Fensters zu steuern

  • Verwenden von cv2.destroyAllWindows, um das Fenster zu schließen

Nachdem dieser Code erfolgreich ausgeführt wurde, erscheint ein Bildfenster auf Ihrem Bildschirm.

Vorschau des Ergebnisses

2. Code ausführen

Wichtig

Stellen Sie vor dem Start sicher, dass:

  • das Pan-Tilt-Modul montiert ist

  • Sie Zugriff auf den Raspberry-Pi-Desktop haben

  • das Codepaket installiert ist

  • das Fusion HAT+ installiert und konfiguriert ist

  • OpenCV installiert ist

Detaillierte Anweisungen finden Sie unter 0. OpenCV einrichten.

  1. Öffnen Sie das Terminal und geben Sie den folgenden Befehl ein:

    cd ~/ai-lab-kit/opencv_python
    python3 cv_1_imgshow.py
    
  2. Nach dem Ausführen des Skripts öffnet OpenCV ein Fenster mit dem Titel Picture und zeigt das aus my_photo.jpg geladene Bild an.

    Das Fenster bleibt geöffnet, bis der Benutzer das Programm beendet.

    Um das Programm zu beenden, können Sie:

    • q auf der Tastatur drücken

    • das Fenster über die Schaltfläche zum Schließen schließen

    Sobald das Fenster geschlossen wird, werden alle OpenCV-Ressourcen freigegeben und das Programm beendet.

3. Vollständiger Code

# Python code to read and display an image using OpenCV
import cv2
from pathlib import Path

# Get the directory of the current Python file
BASE_DIR = Path(__file__).resolve().parent

# Read image from disk
# cv2.imread loads the image as a NumPy array
img = cv2.imread(str(BASE_DIR / "my_photo.jpg"), cv2.IMREAD_COLOR)

# Create a GUI window to display the image
# First parameter: window title
# Second parameter: image array
cv2.imshow("Picture", img)

# Keep the window open until the user closes it or presses 'q'
# cv2.waitKey only listens for keyboard events, not the close button
# Therefore, we use a loop to detect both window close and key press
while True:
   # Check if the window has been closed
   if cv2.getWindowProperty("Picture", cv2.WND_PROP_VISIBLE) < 1:
      break

   # Wait for 1 ms and check for key press
   # Press 'q' to exit the program
   if cv2.waitKey(1) & 0xFF == ord("q"):
      break

# Destroy all OpenCV windows and release memory
cv2.destroyAllWindows()

4. Code-Erklärung

  • cv2.imread("my_photo.jpg", cv2.IMREAD_COLOR)

    Liest das Bild mit dem Namen my_photo.jpg ein und lädt es im Farbmodus.

  • cv2.imshow("Picture", img)

    Erstellt ein Fenster mit dem Titel „Picture“ und zeigt das Bild an.

  • cv2.waitKey(0)

    Wenn der Parameter 0 ist, wartet das Programm unbegrenzt, bis Sie das Fenster schließen oder eine beliebige Taste drücken.

  • cv2.getWindowProperty()

    Ruft einen Eigenschaftswert des angegebenen Fensters ab (zum Beispiel, ob das Fenster noch sichtbar ist).

  • cv2.destroyAllWindows()

    Schließt alle OpenCV-Fenster und gibt die Ressourcen frei.

5. Weitere Übungen

  • Versuchen Sie, den Fenstertitel in imshow auf „My First OpenCV Window“ zu ändern.

  • Ersetzen Sie das Bild durch ein anderes und beobachten Sie das Ergebnis.

  • Ändern Sie den waitKey-Parameter auf 3000, sodass das Programm das Fenster nach 3 Sekunden automatisch schließt.