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 Fotografiemodul

Einführung

In diesem Kit, ausgestattet mit einem Kameramodul, versuchen wir, mit dem Raspberry Pi ein Foto zu machen.

Benötigte Komponenten

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

../_images/3.3.1_photograph_list.png

Es ist definitiv praktisch, ein komplettes Set zu kaufen, hier ist der Link:

Name

ARTIKEL IN DIESEM SET

LINK

Raphael Kit

337

Raphael Kit

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

KOMPONENTENVORSTELLUNG

KAUF-LINK

Kameramodul

BUY

Experimentelle Verfahren

Schritt 1: Gehe zum Raspberry Pi Desktop. Für ein besseres Erlebnis benötigen Sie möglicherweise einen Bildschirm, siehe: Verbinden Sie Ihren Raspberry Pi. Oder greifen Sie remote auf den Raspberry Pi Desktop zu, für eine detaillierte Anleitung siehe Remote-Desktop.

Schritt 2: Überprüfen Sie, ob die Kamera aktiviert ist. Für Anweisungen siehe: Kamera-Schnittstelle aktivieren.

Schritt 3: Öffnen Sie ein Terminal und wechseln Sie in den Ordner des Codes.

cd ~/raphael-kit/python-pi5

Schritt 4: Führen Sie aus.

sudo python3 3.1.1_PhotographModule_zero.py

Nachdem der Code ausgeführt wurde, wird die Kamera ein Foto machen. 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-pi5/“ mit einer Python-IDE öffnen, den Ausführen-Knopf klicken, um es auszuführen, und den Code mit dem Stopp-Knopf stoppen.

Wenn Sie das Foto auf Ihren PC herunterladen möchten, siehe 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 Modul os für Betriebssysteminteraktionen.

    #!/usr/bin/env python3
    from picamera2 import Picamera2, Preview
    import os
    
  2. Ruft den Login-Namen des aktuellen Benutzers und den Pfad zu dessen Home-Verzeichnis ab.

    # 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}')
    
  3. Erstellt eine Instanz der Klasse Picamera2 und ruft die Standard-Vorschaukonfiguration ab.

    # Create a Picamera2 instance
    camera = Picamera2()
    # Retrieve the default preview configuration
    preview_config = camera.preview_configuration
    
  4. Legt die Größe und das Format der Kameravorschau fest. Die Größe wird auf 800x600 Pixel festgelegt, und das Format auf XRGB8888.

    try:
        # Set preview size and format
        preview_config.size = (800, 600)
        preview_config.format = 'XRGB8888'
    
        ...
    
  5. Startet die Kameravorschau im QTGL-Modus, einer Methode zur Anzeige der Vorschau, und startet dann die Kamera selbst.

    try:
        ...
    
        # Start the camera preview in QTGL mode
        camera.start_preview(Preview.QTGL)
        # Start the camera
        camera.start()
    
        ...
    
  6. Macht ein Bild mit der Kamera und speichert es in ~/.

    try:
        ...
    
        # Capture and save a photo to the user's home directory
        camera.capture_file(f'{user_home}/my_photo.jpg')
    

    Bemerkung

    You can use camera.capture() function and for loop together to achieve continuous shooting. And use the delay function to adjust the time interval for taking pictures.

    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 die Kameravorschau gestoppt wird. Die Anweisung pass wird verwendet, um die Ausnahme zu behandeln, ohne sonst etwas zu tun.

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