Moin,
ja mit raspistill war das noch ganz einfach:
$ raspistill -o $f -t 1 --annotate 12 --annotate-text "$(date +'%d.%m.%Y %H:%M')"
Aber das geht nun mit rpicam-still nicht mehr so einfach bzw. nur wenn eine Version mit OpenCV support gebaut wurde.
Ich hatte auch überlegt welche Lösung ich nun machen soll. Eine php Variante hatte ich in einem anderen Projekt bei dem alle 5 Minuten ein Bild von einer ESP23 Cam geholt wird und mit Timestamp als Dateiname abgespeichert wird: 20250102-1613.jpg. Der ESP32 Cam war nur dünn eingerichtet, d.h. ohne Text ins Bild einzubauen, daher wird das im nächsten Schritt mit php gemacht. Aufruf im Terminal (oder script):
$ php convert.php 20250102-1613.jpg
Die php Datei sieht so aus:
convert.php:
<?php
if ($argc>0) {
// Datum aus dem Bildnamen basteln, hier kann man natürlich auch das Systemdatum nehmen o.ä.
$d=substr($argv[1],6,2).".".substr($argv[1],4,2).".".substr($argv[1],0,4)." ".substr($argv[1],9,2).":".substr($argv[1],11,2);
$img = imagecreatefromjpeg("/home/pi/" . $argv[1]);
$size = 14; $x = 20; $y = 1180; $angle = 0; $quality = 100;
$color = imagecolorallocate($img, 200, 200, 200);
imagettftext($img, $size, $angle, $x, $y, $color, '/home/pi///DejaVuSans.ttf', 'Aufnahme vom: ' . $d);
imagejpeg($img, $argv[1], $quality);
}
?>
Bei einem anderen Projekt war auf dem Raspberry (zero 1) kein php installiert und daher wollte ich das mal mit den Paket von ImageMagick probieren.
Ist auch ganz easy:
# Bild holen
rpicam-still -o /home/pi/tmp.jpg
# Mit dem Programm "convert" von ImageMagick das Datum einbauen und Bild speichern:
convert /home/pi/tmp.jpg -gravity SouthEast -pointsize 36 -fill "rgba(255,255,255,0.5)" -annotate +20+20 "Aufnahme vom $(date '+%d.%m.%Y %H:%M')" /home/pi/fertig.jpg
Wünsche ein Frohes Neues Jahr!
Und viel Spaß und Erfolg mit euren Projekten!