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.
Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
|---|---|---|
Raphael Kit |
337 |
Sie können diese auch einzeln über die untenstehenden Links kaufen.
KOMPONENTENBESCHREIBUNG |
KAUF-LINK |
|---|---|
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
Importiert die Klassen
Picamera2undPreviewaus der picamera2-Bibliothek sowie dasos-Modul für Interaktionen mit dem Betriebssystem.#!/usr/bin/env python3 from picamera2 import Picamera2, Preview import os
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}')
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
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' ...
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() ...
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 einerfor-Schleife verwenden, um Serienaufnahmen zu machen. Verwenden Sie außerdem diedelay-Funktion, um das Zeitintervall zwischen den Aufnahmen anzupassen.for i in 5: camera.capture(f'{user_home}/my_photo%s.jpg' % i)
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