Nach dieser Lektion weißt du wie der PIR Sensor HC-SR501 von Electreeks aufgebaut ist, wie er funktioniert und wie du...

Raspberry Pi Kamera im LXTerminal ansteuern
In diesem Tutorial findest du in einem kompakten Überblick alle erdenklichen Befehle, um deine Raspberry Pi Kamera mit "raspistill" und "raspivid" im LX Terminal anzusteuern.
Einleitung
In dem nachfolgenden Auflistung findest du unzählige Befehle, mit denen du die Raspberry Pi Kamera bedienen kannst. Darunter zählen Einstellungen zur Bild- und Videoaufnahme und verschiedene Filter.
Mit den einleitenden Kommandos raspistill
für Bildaufnahme und raspivid
für Videoaufnahme definierst du, als was die Kamera gerade fungieren soll. Mit den Parametern wie zum Beispiel -o
für Speicherort, -br xxx
für Helligkeit oder --contrast xxx
für Kontrasteinstellungen, definierst du die zusätzlichen Aufnahmeeinstellungen.
Die Parameter können entweder in einer Kurzschreibweise mit einem Bindestrich oder in einer Langversion mit zwei angeführten Bindestrichen eingegeben werden: -br xxx
oder --brightness xxx
. Was präferiert wird, ist allein Geschmacksache des Programmierers.
Viele der Parameter lassen sich zusammen in einem Kommando aufführen. Wie zum Beispiel:
raspistill -f -br 50 --rotation 90 -o /pi/home/testbild.jpg
Abb.: Standardaufnahme mit einer Raspberry Pi Kamera ohne Infrarot Sperrfilter
Hinweis: Die Aufnahmen sind mit einer Kamera mit Nachtsichtfunktion aber ohne einem Infrarot Sperrfilter entstanden. Nachtsichtkameras sind in der Lage infrarotes Licht aufzunehmen. Das ist esentiell für die Nachtsicht, da sie hautpsächlich durch dieses Licht erst Nachts "sehen" kann. Das erklärt den leichten Rotstich im Bild. Unsere aktuellen Modelle sind aber alle mit einem automatischen Infrarot Sperrfilter versehen, die am Tag das Licht herausfiltern und du dadurch tolle natürliche Aufnahmen erhältst.
Parameter für Raspistill (Foto) und Raspivid (Video)
Hilfe
#Foto
raspistill -?
raspistill --help
#Video
raspivid -?
raspivid --help
Beschreibung
Mit dem Hilfe-Befehl bekommst du eine Auflistung aller möglichen Parameter für das jeweils eingegebene Kommando, sowie eine Definition des möglichen Wertebereichs.
Ausgabe Aufnahmeparameter -v
#Foto
raspistill -v
raspistill --verbose
#Video
raspivid -v
raspivid --verbose
Beschreibung
Implementierst du diesen Parameter in deinen Code, gibt das System eine genaue und detaillierte Auflistung der Aufnahmeparameter und das Processing als Protokoll zurück. Gibst du den Parameter alleinstehend aus, werden entsprechend alle Defaultwerte ausgegeben.
Aufnahme speichern -o pfad/bild.jpg
#Foto
raspistill -o speicherpfad/dateiname.jpg
raspistill --output speicherpfad/dateiname.jpg
#Video
raspivid -o speicherpfad/videoname.h264
raspivid --output speicherpfad/videoname.h264
Beschreibung
Mit diesem Parameter kannst du den Speicherort und den Dateinamen für dein Bild bzw. dein Video festlegen. Wird dieser Parameter nicht eingegeben, wird nichts gespeichert.
Bei Bildern kannst du ein abweichendes Dateiformat festlegen. Folgende Dateiendungen stehen zur Verfügung, welche das System automatisch konvertiert: .jpg, .bmp, .gif und .png. Standard ist immer .jpg (wenn du keine Dateiendung eingibst).
Für Videos werden Formate unterstützt, die dem H.264 (MPEG4/AVC) – Kodierungsstandard bei Videos oder höher entsprechen. Beispiele wären die Dateiendung .h264 oder .mkv.
Ein entsprechender Befehl kann wie folgt aussehen: raspistill -o Bilder/Bild1.png
. Das Standardverzeichnis ist /home/pi/. Ordner erstellt das Programm nicht automatisch. Der Speicherpfad muss also bereits vorhanden sein. Werden Dateien mit der gleichen Bezeichnung gespeichert, wird die bestehende ersetzt.
Bei Foto- oder Videoreihen, welche abgespeichert werden sollen, kann eine automatische Nummerierung durch folgenden Suffix erfolgen: %04d. Der Zahlenwert steht für die Anzahl der Nullen.
raspistill -tl 1000 -t 10000 -o Bilder/Bildreihe%02d.jpg
würde im Intervall von einer Sekunde folgende 11 Bilder ausgeben: Bildreihe00.jpg, Bildreihe01.jpg, Bildreihe02.jpg … Bildreihe10.jpg.
Timer -t Zahl (in ms)
#Foto
raspistill -t 10000
raspistill --timeout 10000
#Video
raspivid -t 10000
raspivid --timeout 10000
Beschreibung
Der Timeout-Parameter hat für die beiden Kommandos eine unterschiedliche Funktion.
Bei raspistill
sorgt der Parameter für eine Aufnahmeverzögerung von x Millisekunden (Bildtimer).
Bei raspivid
wird darüber die Aufnahmelänge definiert. In beiden Fällen wird damit die Länge des Vorschaubildes eingestellt. Der Eingabewert ist stets in Millisekunden.
Möchtest du jetzt beispielsweise ein fünfminütiges Video aufnehmen, wäre der Befehl folgender: raspivid -t 300000 -o Videos/Kurzfilm.h264
.
Der Standardwert liegt immer bei 5 Sekunden.
Bildposition und Bildgröße -p x,y,w,h
#Foto
raspistill -p x,y,w,h
raspistill --preview x,y,w,h
#Video
raspivid -p x,y,w,h
raspivid --preview x,y,w,h
Beschreibung
Erzeugt eine Bildvorschau in einer festgelegten Fenstergröße und Bildschirmposition. Mit den Parametern x und y gibst du die Position der Bildvorschau auf dem Bildschirm in Pixeln vor, wobei der obere linke Bildrand die Koordinaten 0, 0 sind.
Die Parameter w (width – Weite) und h (height – Höhe) geben die Größe des Bildausschnittes in Pixeln an.
Das Standardformat für Fotos sind 4:3, für Videos 16:9. Gibst du eine Bildgröße an, die von diesen Formaten abweicht, wird das Bild so beschnitten, dass es in den Rahmen passt.
Ein Beispiel kann sein:
raspistill -p 100,50,1024,512
Das Bild ist 100 px vom linken Rand und 50 Pixel vom oberen Rand entfernt. Die angezeigte Vorschau ist 1024 px in der Bildweite und 512 px in der Bildhöhe. Das Format ist also 2:1. Das bedeutet, dass das Bild oben und unten abgeschnitten wird.
Vollbild -f
#Foto
raspistill -f
raspistill --fullscreen
#Video
raspivid -f
raspivid --fullscreen
Beschreibung
Nutzt die komplette Bildschirmhöhe und skaliert jeweils die Bildschirmbreite bzw. umgekehrt. Hier gelten wieder die Standardformate für raspistill
in 4:3 und raspivid
16:9.
Eine Eingabe zusätzlicher Werte ist nicht erforderlich.
Der Fullscreen ist bereits als Default-Parameter hinterlegt.
Bildbreite -w Zahl (in px)
#Foto
raspistill -w x
raspistill --width x
#Video
raspivid -w x
raspivid --width x
Beschreibung
Verändert die Breite des gespeicherten Bildes oder Videos in Pixel. Das ist nützlich, wenn du die Dateien nicht in der vollen Auflösung benötigst.
Es macht es durchaus Sinn, eine kleinere Auflösung zu wählen, um Speicherplatz zu sparen. Die Vorschau des Bildes bei raspistill
wird trotzdem in voller Auflösung ausgegeben. Bei raspivid
wird die Vorschau hochskaliert.
Bildhöhe -h Zahl (in px)
#Foto
raspistill -h x
raspistill --height x
#Video
raspivid -h x
raspivid --height x
Beschreibung
Verändert die Höhe des gespeicherten Bildes oder Videos in Pixel. Das ist nützlich, wenn du die Dateien nicht in der vollen Auflösung benötigst.
Es macht es durchaus Sinn, eine kleinere Auflösung zu wählen, um Speicherplatz zu sparen. Die Vorschau des Bildes bei raspistill
wird trotzdem in voller Auflösung ausgegeben. Bei raspivid
wird die Vorschau hochskaliert.
Bilddrehung -rot Wert (0,90,180 oder 270 in Grad)
#Foto
raspistill -rot x
raspistill --rotation x
#Video
raspivid -rot x
raspivid --rotation x
Beschreibung
Mit diesem Befehl kannst du das Bild drehen. Das ist geeignet für Bildkorrekturen, sollte deine Kamera abweichend von der Standardposition betrieben werden. Jedoch werden aufgrund Hardwarebeschränkungen nur Drehungen von 0, 90, 180, 270 Grad unterstützt.
Horizontal spiegeln -hf
#Foto
raspistill -hf
raspistill --hflip
#Video
raspivid -hf
raspivid --hflip
Beschreibung
Spiegelt das Bild entlang der horizontalen Achse. Das Bild oder das Video ist spiegelverkehrt.
Effekt: Hflip
Vertikal spiegeln -vf
#Foto
raspistill -vf
raspistill --vflip
#Video
raspivid -vf
raspivid --vflip
Beschreibung
Spiegelt das Bild entlang der vertikalen Achse. Das Bild oder das Video steht Kopf.
Effekt: Vflip
Bildschärfe -sh Wert (-100 bis 100)
#Foto
raspistill -sh x
raspistill --sharpness x
#Video
raspivid -sh x
raspivid --sharpness x
Beschreibung
Verändert die Schärfe der Aufnahme. Voreingestellt ist der Wert 0.
Effekt: Sharpness 100
Helligkeit -br Wert (0 bis 100)
#Foto
raspistill -br x
raspistill --brightness x
#Video
raspivid -br x
raspivid --brightness x
Beschreibung
Verändert die Helligkeit des Bildes. Voreingestellt ist der Wert 50. Der Wert 0 ist Schwarz. 100 ist Weiß.
Effekt: Brightness 75
Kontrast -co Wert (-100 bis 100)
#Foto
raspistill -co x
raspistill --contrast x
#Video
raspivid -co x
raspivid --contrast x
Beschreibung
Verändert den Kontrast des Bildes. Voreingestellt ist der Wert 0.
Effekt: Contrast -25
Sättigung -sa Wert (-100 bis 100)
#Foto
raspistill -sa x
raspistill --saturation x
#Video
raspivid -sa x
raspivid --saturation x
Beschreibung
Verändert die Sättigung, respektive die Farbintensität der Aufnahme. Voreingestellt ist der Wert 0. Der Wert -100 gibt ein graustufiges Bild/ Video aus.
Effekt: Saturation -100
Belichtungskorrektur -ev Wert (-10 bis 10)
#Foto
raspistill -ev x
raspistill --ev x
#Video
raspivid -ev x
raspivid --ev x
Beschreibung
Verändert die Belichtungskorrektur der Aufnahme. Voreingestellt ist der Wert 0.
Effekt: EV 10
ISO-Wert Lichtempfindlichkeit -ISO Wert (100 bis 800)
#Foto
raspistill -ISO x
raspistill --ISO x
#Video
raspivid -ISO x
raspivid --ISO x
Beschreibung
Der ISO-Wert beschreibt die Lichtempfindlichkeit des Fotosensors. Je geringer der ISO-Wert, desto dunkler und weniger empfindlich die Aufnahme.
Effekt: ISO 700
Effekte / Filter -ifx Wert (Effektbezeichnung)
#Foto
raspistill -ifx x
raspistill --imxfx x
#Video
raspivid -ifx x
raspivid --imxfx x
Beschreibung
Der Befehl legt einen Effekt über das Bild.
Folgende Effekte sind möglich:
- negative (negative Bilddarstellung)
- solarise (farbige Solarisation)
- sketch (Buntstiftzeichnung)
- denoise (Rauschunterdrückung)
- emboss (Prägung – grau/silber)
- oilpaint (Ölgemäldeoptik)
- hatch (Schraffur Skizzeneffekt)
- gpen (Graphit Skizzeneffekt)
- pastel (Pastelgemäldeoptik)
- watercolour (Wasserfarbengemälde)
- film (Filmoptik – leichtes Bildrauschen)
- blur (Weichzeichner)
- saturation (Farbsättigung des Bildes)
- colourswap (Blaustich)
- washedout (verblasstes/ ausgewaschenes Bild)
- posterise (graustufige Posteroptik mit Farbakzenten)
- cartoon (Trickfilmzeichnung)
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
12 |
![]() |
Parameter speziell für Raspistill (Foto)
Bildauslösung mittels Eingabetaste -k
Bildauslösung mittels Eingabetaste
#Foto
raspistill -k
raspistill --keypress
Beschreibung
Mit dem Keypress-Parameter bei raspistill kann ein Foto durch die Betätigung der ENTER-Taste aufgenommen werden, unter Berücksichtigung des gewählten Timeout-Wertes. Abgebrochen werden kann der Prozess durch die Tastenkombination Strg. + c oder durch x + ENTER.
Die Speicherung der Bildreihe erfolgt durch den Suffix %04d am Bildnamen, wie oben im Speichern-Parameter beschrieben. Die Zahl im Suffix beschreibt die Anzahl der Nullen. Ein Beispiel hierfür ist: raspistill -k -t 10000 -o Bilder/Keypress%02d.jpg
.
Bildqualität -q Wert (0 bis 100)
Qualität der Aufnahme
#Foto
raspistill -q x
raspistill --quality x
Beschreibung
Mit -q bzw. --quality kannst du die Qualität des Bildes einstellen.
Aber Achtung: Die Qualität hat Auswirkung auf die Dateigröße. Eine Bildqualität von 100 ist fast vollständig unkomprimiert, die Bilder benötigen somit sehr viel Speicherplatz. Der Standardwert liegt bei 35.
Bild-Rohdaten erzeugen -r
Bild-Rohdaten erzeugen
#Foto
raspistill -r
raspistill --raw
Beschreibung
Diese Option fügt die Rohdaten des Bayer-Sensors von der Kamera in die JPEG-Metadaten ein.
Timelapse-Modus -tl Wert (in ms)
Timelapse – Aufnahme in Intervallen
#Foto
raspistill -tl x
raspistill --timelapse x
Beschreibung
Bei diesem Parameter wird in einem angegebenen Intervall in x Millisekunden eine Aufnahme gemacht. Hier muss beachtet werden, dass der Suffix %02d am Dateinamen angehangen wird.
Bei dem Beispiel raspistill -t 6000 -tl 600 -o Bilder/Timelapse_%04d.jpg
wird aller 600ms ein Bild aufgenommen und abgelegt als: Timelapse_0000.jpg, Timelapse_0001.jpg, Timelapse_0002.jpg, … Timelapse_0010.jpg.
Der Wert sollte über 500ms liegen, da es sonst zu Verzögerungen in der Aufnahme kommt. Das LXTerminal weist auf diese Verzögerung hin.
Parameter speziell für Raspivid (Video)
Bitrate -b Wert (in bit/s)
Bitrate des Videos
#Video
raspivid -b x
raspivid --bitrate x
Beschreibung
Die Bitrate ist ein Indikator für die Videoqualität. Sie beschreibt die Datenmenge eines Videos. Die Änderung der Bitrate hat somit implizit eine Auswirkung auf die Dateigröße.
Die Angabe im LXTerminal muss in Bits pro Sekunde erfolgen. Bei einer Bitrate von 10 Mbit/s muss der Parameter also „-b 10000000
“ lauten.
Die Maximale Bitrate beträgt 25 Mbit/s. Eine Bitrate über 17 Mbits/s zeigt bei einer Aufnahme in Full HD @ 30 fps aber keine merkliche Verbesserung. Dieser Wert ist auch als Standardwert hinterlegt.
Bilder pro Sekunde -fps Wert (in fps)
Bilder pro Sekunde (fps)
#Video
raspivid -fps x
raspivid --framerate x
Beschreibung
Passt die Bildrate an den vorgegeben Wert an. Die minimale Bildrate beträgt 2 fps, das Maximum 30 fps. Standard ist 30.
Zeitgesteuerter Wechsel zwischen Aufnahme und Pause -td Wertan, Wertaus (in ms)
Zeitgesteuerter Wechsel zwischen Aufnahme und Pause
#Video
raspivid -td x_an,x_aus
raspivid --timed x_an,x_aus
Beschreibung
Diese Option ermöglicht es, ein Video zu pausieren und in bestimmten Zeitabständen neu zu starten. Dazu sind zwei Werte erforderlich: Der erste Wert ist die Einschaltzeit. Das ist die Zeitdauer, in der das Video aufgenommen wird. Der zweite Wert, die Ausschaltzeit, ist die Dauer, für die das Video pausiert wird. Die Angabe erfolgt, wie immer, in Millisekunden.
Die Gesamtzeit der Aufzeichnung kann durch die Timeout-Option begrenzt werden.
Beispiel: raspivid -td 4000, 2000 -t 20000 -o Videos/timed.h264
. Ausgegeben wird dann ein Video, bei denen die Ausschaltzeiten herausgeschnitten sind.
Manueller Wechsel zwischen Aufnahme und Pause -k
Manueller Wechsel zwischen Aufnahme und Pause
#Video
raspivid -k
raspivid --keypress
Beschreibung
Bei jedem Drücken der Eingabetaste wird die Aufzeichnung angehalten oder neu gestartet. Nach Eingabe des Befehls wird sofort mit einer Aufnahme gestartet.
Durch Drücken von x + Enter oder Strg + c wird die Aufzeichnung gestoppt und die Anwendung geschlossen. Wird mit -t ein Timeout-Wert festgelegt, wird die Anwendung angehalten, sobald du außerhalb des Zeitfensters die Wiedergabe mit ENTER zu starten beabsichtigst.
Bildstabilisator -vs
Aktivieren des Bildstabilisators
#Video
raspivid -vs
raspivid --vstab
Beschreibung
Der Parameter schaltet die Videostabilisierung ein. Standardmäßig ist diese Funktion deaktiviert.
Leave a comment