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.
Es ist definitiv praktisch, ein komplettes Set zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM SET |
LINK |
---|---|---|
Raphael Kit |
337 |
Sie können diese auch einzeln über die untenstehenden Links kaufen.
KOMPONENTENVORSTELLUNG |
KAUF-LINK |
---|---|
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
Importiert die Klassen
Picamera2
undPreview
aus der picamera2-Bibliothek sowie das Modulos
für Betriebssysteminteraktionen.#!/usr/bin/env python3 from picamera2 import Picamera2, Preview import os
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}')
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
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' ...
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() ...
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 andfor
loop together to achieve continuous shooting. And use thedelay
function to adjust the time interval for taking pictures.for i in 5: camera.capture(f'{user_home}/my_photo%s.jpg' % i)
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