Bemerkung

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

Warum beitreten?

  • Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.

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

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

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

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

👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!

3.1.1 Fotografie-Modul

Einführung

In diesem Kit ist ein Kameramodul enthalten. Lassen Sie uns versuchen, mit dem Raspberry Pi ein Foto aufzunehmen.

Benötigte Komponenten

Für dieses Projekt benötigen wir folgende Komponenten.

../_images/photo1.png

Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

Raphael Kit

337

Raphael Kit

Sie können diese auch einzeln über die untenstehenden Links kaufen.

KOMPONENTENBESCHREIBUNG

KAUF-LINK

Kameramodul

KAUFEN

Experimentelle Verfahren

Schritt 1: Gehen Sie zum Raspberry Pi Desktop. Für ein besseres Erlebnis benötigen Sie vielleicht einen Bildschirm, siehe: Verbinden Sie Ihren Raspberry Pi. Oder greifen Sie remote auf den Raspberry Pi Desktop zu, für ein detailliertes Tutorial siehe Remote Desktop.

Schritt 2: Öffnen Sie ein Terminal und wechseln Sie in den Ordner mit dem Code.

cd ~/raphael-kit/python/

Schritt 3: Führen Sie den Code aus.

sudo python3 3.1.1_FotografieModul.py

Nachdem der Code ausgeführt wurde, wird die Kamera ein Foto aufnehmen. Jetzt können Sie das Foto mit dem Namen my_photo.jpg im ~ Verzeichnis sehen.

Bemerkung

Sie können auch 3.1.1_PhotographModule.py im Pfad ~/raphael-kit/python/ mit einer Python-IDE öffnen, auf die Schaltfläche Ausführen klicken, um den Code auszuführen, und den Code mit der Schaltfläche Stopp beenden.

Wenn Sie das Foto auf Ihren PC herunterladen möchten, beachten Sie bitte FileZilla Software.

Code

#!/usr/bin/env python3
from picamera2 import Picamera2, Preview
import os

# Get the current user's login name
user = os.getlogin()
# Get the path to the user's home directory
user_home = os.path.expanduser(f'~{user}')

# Create a Picamera2 instance
camera = Picamera2()
# Retrieve the default preview configuration
preview_config = camera.preview_configuration

try:
    # Set preview size and format
    preview_config.size = (800, 600)
    preview_config.format = 'XRGB8888'
    # Start the camera preview in QTGL mode
    camera.start_preview(Preview.QTGL)
    # Start the camera
    camera.start()
    # Capture and save a photo to the user's home directory
    camera.capture_file(f'{user_home}/my_photo.jpg')

except KeyboardInterrupt:
    # Stop the camera preview if a KeyboardInterrupt (e.g., Ctrl+C) occurs
    camera.stop_preview()
    pass

Code-Erklärung

  1. Importiert die Klassen Picamera2 und Preview aus der picamera2-Bibliothek sowie das os-Modul für Interaktionen mit dem Betriebssystem.

    #!/usr/bin/env python3
    from picamera2 import Picamera2, Preview
    import os
    
  2. Ruft den aktuellen Benutzernamen sowie den Pfad zum Home-Verzeichnis des Benutzers ab.

    # Aktuellen Benutzernamen abrufen
    user = os.getlogin()
    # Pfad zum Home-Verzeichnis des Benutzers abrufen
    user_home = os.path.expanduser(f'~{user}')
    
  3. Erstellt eine Instanz der Picamera2-Klasse und ruft die Standard-Vorschaukonfiguration ab.

    # Eine Picamera2-Instanz erstellen
    camera = Picamera2()
    # Die Standard-Vorschaukonfiguration abrufen
    preview_config = camera.preview_configuration
    
  4. Legt die Größe und das Format der Kamera-Vorschau fest. Die Größe wird auf 800×600 Pixel gesetzt, das Format auf XRGB8888.

    try:
        # Vorschaugröße und -format festlegen
        preview_config.size = (800, 600)
        preview_config.format = 'XRGB8888'
    
        ...
    
  5. Startet die Kamera-Vorschau im QTGL-Modus (eine Methode zur Anzeige der Vorschau) und danach die Kamera selbst.

    try:
        ...
    
        # Die Kamera-Vorschau im QTGL-Modus starten
        camera.start_preview(Preview.QTGL)
        # Die Kamera starten
        camera.start()
    
        ...
    
  6. Nimmt ein Bild mit der Kamera auf und speichert es im Home-Verzeichnis des Benutzers ~/.

    try:
        ...
    
        # Ein Foto aufnehmen und im Home-Verzeichnis speichern
        camera.capture_file(f'{user_home}/my_photo.jpg')
    

    Bemerkung

    Sie können die Funktion camera.capture() zusammen mit einer for-Schleife verwenden, um Serienaufnahmen zu machen. Verwenden Sie außerdem die delay-Funktion, um das Zeitintervall zwischen den Aufnahmen anzupassen.

    for i in 5:
        camera.capture(f'{user_home}/my_photo%s.jpg' % i)
    
  7. Dieser Codeblock behandelt ein KeyboardInterrupt (z. B. Strg+C), indem er die Kamera-Vorschau stoppt. Die pass-Anweisung fängt die Ausnahme ab, ohne weitere Aktionen auszuführen.

    except KeyboardInterrupt:
        # Die Kamera-Vorschau stoppen, wenn ein KeyboardInterrupt auftritt
        camera.stop_preview()
        pass