Schnelle Foto-Aufnahmen mit Raspberry Pi Camera

  • Ich war leider die letzten Wochen anderweitig beschäftigt, daher erst jetzt wieder was hierzu.

    SHF: Die Kamera ist die hier: https://www.amazon.de/gp/product/B088NH3ZS5, das Objektiv https://www.amazon.de/gp/product/B07Q46LHHT.


    Bezüglich HDR bin ich inzwischen bei "enfuse" gelandet, was vollkommen unkompliziert "out of the box" funktioniert und recht gute Ergebnisse liefert. Mit diesem kleinen Script erzeuge ich jetzt ganz brauchbare HDR-Bilder:

    Die Ausgabeumleitung bei enfuse ist leider notwendig, da ich keine Option gefunden habe, mit der man seine Geschwätzigkeit bändigen kann.


    Zwischenzeitlich habe ich auch mal das neue "Raspios Bullseye" und damit "libcamera-still" ausprobiert, da dieses angeblich HDR können soll. Was dort gemacht wird ist aber kein "richtiges" HDR (also mit unterschiedlichen EV-Werten), sondern es wird mehrmals etwas unterbelichtet (aber immer gleich) aufgenommen und dann diese Bilder verarbeitet. Im Ergebnis kann sich das nicht mit dem messen, was ich mit obigem Skript erreiche.


    Das einzige, was jetzt noch unschön ist, ist dass die einzelnen Aufrufe von 'raspistill' relativ lange dauern (vermutlich bis Belichtung, Weißabgleich etc. gemessen wurde). Es würde aber eigentlich reichen, das nur beim ersten Mal zu machen und die Werte bei allen weiteren Aufrufen zu verwenden, denn an der Szenerie ändert sich ja so gesehen nichts. Lediglich Bewegungen machen sich halt störend bemerkbar, je größer die Abstände zwischen den Aufnahmen sind.

  • Ist /tmp eigentlich beim Raspios eine Ramdisk o.ä.?

  • Ist anscheinend ein ganz normales Verzeichnis:


    drwxrwxrwt 9 root root 4096 7. Mär 14:34 tmp


    Code
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/root       3.5G  1.5G  1.9G  44% /
    devtmpfs        333M     0  333M   0% /dev
    tmpfs           462M     0  462M   0% /dev/shm
    tmpfs           185M  724K  184M   1% /run
    tmpfs           5.0M  4.0K  5.0M   1% /run/lock
    /dev/mmcblk0p1  253M   49M  204M  20% /boot
    tmpfs            93M     0   93M   0% /run/user/500
  • Hallo,


    das hängt wohl von der Distribution ab. Bei MLD etwa ist /tmp tmpfs, also quasi ramdisk:


    tmp on /tmp type tmpfs (rw,relatime)

    LG
    Jochen


    Rpi4 headless mit MLD 5.4 als Server via satip-Plugin hinter einem Telestar Digibit Twin, ein Rpi3 als Streamdev-Client mit MLD 5.4

    Rpi3 auch hinter Telestar Digibit Twin und mit MLD 5.4

  • Dann wäre es evtl sinnvoll ein tmpfs o.ä. an /tmp/hdr einzuhängen, damit du nicht immer auf der SD schreibst.

  • Das ist per se sicher schon mal sehr sinnvoll, weil dadurch auch die SD-Karte geschont wird. Hab ich jetzt gemacht.

    Die Timestamps der Aufnahmen liegen aber immer noch ca. 6 Sekunden auseinander:


    -rw-r--r-- 1 root root 5306215 2022-03-07 16:00:06.462336821 +0100 ldr--18.jpg

    -rw-r--r-- 1 root root 5298119 2022-03-07 16:00:12.772295986 +0100 ldr--12.jpg

    -rw-r--r-- 1 root root 5589197 2022-03-07 16:00:19.082255286 +0100 ldr--6.jpg

    -rw-r--r-- 1 root root 5927507 2022-03-07 16:00:25.392214718 +0100 ldr-0.jpg

    -rw-r--r-- 1 root root 5221041 2022-03-07 16:00:31.722174153 +0100 ldr-6.jpg


    Der Löwenanteil der Zeit geht also anscheinend für die Messung drauf.

  • Leicht off-topic, aber jetzt auch nicht allzu sehr. Falls jmd einen Pi als mini Kamera Webserver benötigt..

    Mal sehen, wie viele Blaumeisen dieses Jahr unser Meisenkasten so 'produziert'. :D


    Auf frischem Raspi OS mit bullseye:


    camera-test.py


    Code
    /usr/bin/python3 camera-test.py &


    Im Browser

    Code
    http://<IP_des_Pi>:8080


    [edit]12.03.2022: Das erste Meisen-Paar ist eingezogen. Wie cool. :D [/edit]

  • Hast du mal darüber nachgedacht, die jeweils vier der letzten/vorhergehenden Bilder für das aktuelle Bild zu nutzen/recyclen? So eine Art 'Ringbuffer' Prinzip, bei dem nur je ein Bild von fünf neu ist. Nur ein Bild neu und neu berechnen.


    Natürlich würde das etwas mehr Nachdenken/Aufwand in deinem script bedeuten,

    aber die Update Zeit würde sich um geschätzt 4 x 6sec verbessern.

  • Die Kamera ist die hier

    Danke für die Info, ist immer gut zu wissen womit gearbeitet.

    Die Kamera scheint ja inzwischen auch einigermassen brauchbar zu sein.

    Und


    Das einzige, was jetzt noch unschön ist, ist dass die einzelnen Aufrufe von 'raspistill' relativ lange dauern (vermutlich bis Belichtung, Weißabgleich etc. gemessen wurde). Es würde aber eigentlich reichen, das nur beim ersten Mal zu machen und die Werte bei allen weiteren Aufrufen zu verwenden, denn an der Szenerie ändert sich ja so gesehen nichts.

    Daher verwenden sie bei dem Script hier auch feste Werte.

    Das müsste eigentlich gut funktionieren, wenn man die Abstufungen sinnvoll wählt. Zu dunkle und helle Aufnahmen werden ja sowieso bei der Nachbearbeitung entsorgt. Man muss bloss darauf achten, dass es "in der Mitte" zwischen den Aufnahmen keine "Lücken" gibt.

    Und den Weissabgleich während einer Aufnahmeserie zu ändern ist, nach meiner Erfahrung, meist eh keine gute Idee.


    Wenn man tagsüber nicht immer diese extrem langen Belichtungen machen will, könnte das Uhrzeitabhängig machen


    Man könnte auch eine Test-Aufnahme machen, die EXIF-Informationen auswerten und daran die Strategie ausrichten.

    Das müsste eigentlich ganz gut gehen, durch Belichtungszeit, Blende und ISO-Wert ist die Lichtmenge bekannt, wenn nicht einzeln angegeben. Daraus kann man eine eigene Belichtungsserie ableiten. Weissabgleich usw. übernimmt man einfach, sofern es Sinn macht.

    Man muss ja nicht 100% treffen, es geht eher darum nicht unnötig viele Aufnahmen zu schiessen, wegen des Zeitverzuges.


    Eventuell könnte es Sinn auch machen das Histogramm der Test-Aufnahme auszuwerten?

    Gruss
    SHF


Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!