Samstag, 2. November 2019

Raspberry Pi - Camera Modul V2.1

Für den Raspberry Pi gibt es ein Kamera Modul V2, welche mit dem Flachbandkabel direkt an den CSI-Port (Camera Serial Interface) angeschlossen wird. Die Kamera kann full HD 1080p mit 30fps und hat einen 8 Megapixel Sensor (Sony IMX219).

Hinweis für die Verwendung der Kamera am Raspberry Pi Zero

Das Kameramodul wird mit einem flexiblen Kabel geliefert, das nicht in den CSI-Kameraanschluss des Raspberry Pi Zero W passt. Dieses muss durch z.B. AZDelivery Ersatz Flexkabel 15 cm für Raspberry Pi Zero Kamera/Display 15cm ersetzt werden.



Adafruit Raspberry Pi Camera Board Case für mit 1/4 Zoll Stativhalterung, ich habe hier die Plastikabdeckung entfernt. Da das Loch für die Linse nicht optimal ist. Mir ging es hier in erster Linie nur um die Möglichkeit die "Pi Cam" auf ein Stativ zu stellen.

Kamera aktivieren

Bevor man mit der Kamera arbeiten kann, muss man sie in unter raspi-config aktivieren.
sudo raspi-config => 5 Interfacing Options => Enable Camera

Einzelbilder erstellen

Mit dem folgenden Befehl lässt sich ein erstes Bild erstellen:
 raspistill -o testimage.jpg
Nach einer Auslöseverzögerung von ca. 5s wird ein Bild mit der Maximalauflösung der Pi Cam von 3280 x 2464 Pixel erstellt.


Fehler - mmal: Cannot read camera info, keeping the defaults for OV5647

Sollte es hierbei zu der folgenden Fehlermeldung kommen:

mmal: Cannot read camera info, keeping the defaults for OV5647</strong>
mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera' (1:ENOMEM)
mmal: mmal_component_create_core: could not create component 'vc.ril.camera' (1)
mmal: Failed to create camera component
mmal: main: Failed to create camera component
mmal: Camera is not detected. Please check carefully the camera module is installed correctly


Dies kann verschiedene Ursachen haben, das verwendete Flachbandkabel hat einen Defekt oder sitzt nicht richtig, die Kamera wurde nicht per raspi-config aktiviert, die Kamera selber ist nicht richtig mit dem Sockel verbunden.
In meinem Fall war einfach die verwendete Kamera selber defekt. Tipp: Mittlerweile bestelle ich alle Pi Bauteile im Doppelpack ;-)

Mit den Befehlen -hf horizontal und -vf vertikal lässt sich das Bild drehen:
raspistill -hf -vf -o testimage.jpg

Videos aufnehmen

Mit dem folgenden Befehl lässt sich ein erstes Video aufnehmen:
raspivid -o testvideo.h264 -t 8000
Auch hier lässt sich das Bild mit -hf und -vf wieder drehen.

Mit dem folgenden Befehl lässt sich auch die Bitrate (default: 17MBit/s) anpassen, um in einer geringeren Qualität (z.B. 9MBit/s) die Videos aufzunehmen.
raspivid -o testvideo.h264 -t 8000 -b 9000000
Weitere Befehle finden sich in der original Dokumetation zum Kameramodul.

Angepasstes Script für den "Webcam- und Temperatur-Server mit OLED Display"

In dem Artikel vom Februar 2015 (https://sebastianhemel.blogspot.com/2015/02/raspberry-pi-logitech-webcam-anschlieen.html), habe ich noch eine Logitech USB-Webcam verwendet.
 
Durch die Verwendung des Camera Moduls, muss das Script (webcam.sh) angepasst werden.
Zuvor muss auch ImageMagick installiert werden, damit das erstellte Bild angepasst werden kann (z.B. crop, Titel, Datum und Uhrzeit).
sudo apt-get install imagemagick
Jetzt benötigen wir noch die Schriftart arial, welche wir schon hier verwendet haben.

Mit der Option ROI "Region of Onterest" kann man den Zoom für einen bestimmten Bereich realisieren. Siehe auch https://elinux.org/Rpi_Camera_Module:
-roi, --roi     : Set region of interest (x,y,w,d as normalised coordinates [0.0-1.0])
Ich selber habe mich aber dann für die "crop" Funktion von ImageMagick entschieden:
convert camPre.jpg -crop 1920x1080+550+680 cam.jpg
Angepasste webcam.sh

#!/bin/sh
# Webcam Bild mit Pi Cam erstellen und auf FTP hochalden
# (c) Sebastian Hemel

OPTIONS='-w 2592 -h 1944 -q 95 -x'
DATE=$(date +"%d.%m.%Y")
HOUR=$(date +"%R")

#-roi, --roi     : Set region of interest (x,y,w,d as normalised coordinates [0.0-1.0])
#raspistill -roi 0.6,0.6,1,1 -o /home/pi/webcam/cam.jpg $OPTIONS

raspistill -o /home/pi/webcam/camPre.jpg $OPTIONS
#Overlay?
#composite -gravity center overlay.png  cam.jpg  result1.jpg

#crop rectangle, start at top corner X: 550 Y: 680, crop rectangle to be of size W: 1920 H: 1080
convert /home/pi/webcam/camPre.jpg -crop 1920x1080+550+680 /home/pi/webcam/cam.jpg
convert /home/pi/webcam/cam.jpg -font /home/pi/font/arial.ttf \
   -pointsize 15 -fill white -annotate +1785+1072  \
   $DATE \
   -pointsize 15 -fill white -annotate +1865+1072  \
   $HOUR \
   -pointsize 15 -draw "gravity southwest \
   fill white text 15,6 'www.webcam-ingolstadt.de | 85051 Ingolstadt' " \
/home/pi/webcam/cam.jpg

sleep 1
ncftpput -f /home/pi/ftp.cfg /cam /home/pi/webcam/cam.jpg



Nicht vergessen, den FTP Client zu installieren. siehe auch https://sebastianhemel.blogspot.com/2015/02/raspberry-pi-logitech-webcam-anschlieen.html:
sudo apt-get install ncftp

Keine Kommentare:

Kommentar veröffentlichen