datum/uhrzeit mit rpicam-still timelapse einblenden

  • datum/uhrzeit mit rpicam-still timelapse einblenden? Schau mal ob du hier fündig wirst!

  • gibt es eine Möglichkeit mit rpicam-still bei timelapse Aufnahmen das aktuelle Datum+Uhrzeit in den aufgenommenen Bildern sichtbar anzuzeigen?

    Grundsätzlich laut Doku: Post-processing und da besonders der Abschnitt zu annotate_cv-stage . Ob das auch bei timelapse funktioniert weiß ich nicht. Du müsstest Dir annotate_cv.json anpassen oder als z.B. date-time_cv.json kopieren und darin den Text anpassen, siehe die Doku zu annotate_cv-stage. Ich kann das nicht ausprobieren mangels angeschlossener Kamera.

    Poste doch mal wie Du die Aufnahme aufrufst und ob Du das hinbekommen hast.

  • mit post-processing und annotation gibt's die Fehlermeldung "No post processing stage found for "annotate_cv""

    laut Doku muss für annotate_cv stage OpenCV und die rpicam-apps mit OpenCV support installiert sein

    rpicam-still --timelapse 10000 \
    --post-process-file /home/raspi/annotate_cv.json \
    -t 60000 \
    -n \
    --quality 75 \
    --width 1920 --height 1080 \
    -o "/home/raspi/captures/frame_%05d.jpg"

    in annotate_cv.json steht

    {
    "annotate_cv" :
    {
    "text" : "Frame %frame exp %exp ag %ag dg %dg",
    "fg" : 255,
    "bg" : 0,
    "scale" : 1.0,
    "thickness" : 2,
    "alpha" : 0.3
    }
    }

  • Habe mir als einfache Alternative eine kleine timelapse Python Anwendung mit Picamera2 und der Pillow Image Library geschrieben.

    Gute Idee, würdest Du auch den Code mit uns teilen?
    Ich kenne das nur von Motion, da kann man den Namen und Zeitmarken einstellen.

    Meine Idee ist Timelapse-Videos von 3D-Drucken zu erstellen.

    Und Du könntest den Thread dann auf erledigt setzen.

    MfG

    Jürgen

  • 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!

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!