Ich nutze openHAB und möchte ein altes Handy als Tag-/Nachtanzeiger verwenden. Ich habe eine Webcam-App installiert und diese filmt den Himmel. Die neuste Aufnahme kann ich über abrufen http://[ip]/shot.jpg
.
Kann ich einen „Helligkeitswert“ wie diesen erhalten: curl http://[ip]/shot.jpg | some-command --get-brightness
?
Antwort1
Frage ist beantwortethier auf Software Recommendations Stack ExchangevonSteve Barnes.
Zwei Möglichkeiten:
Verwenden Sie ImageMagick, um die Helligkeit des Bildes zu überprüfen. Dies funktioniert, solange die Telefonkamera keine automatische Belichtung hat oder diese ausgeschaltet ist. Andernfalls funktioniert es nur bei extremen Werten (dunkel/hell), z. B.
convert <image> -colorspace Gray -format "%[fx:quantumrange*image.mean]" info:
Exiftool kann die EXIF-Informationen aus der Datei analysieren und den „Lichtwert“ extrahieren, der Ihnen einen einigermaßen konsistenten Messwert liefern sollte (vorausgesetzt, die Kamera Ihres jeweiligen Telefons enthält dieses Tag).
Beide Tools sind kostenlos, gratis und Open Source und für die meisten Plattformen verfügbar.
Antwort2
Alternativ zu exiftool können Sie verwendenexiv2, was ich viel schneller fand als Exiftool und Imagemagick.
Vergleich (auf Raspberry Pi Zero)
Getestet mit immer dem gleichen 4056 x 3040 Bild
Imagemagick konvertieren
pi@rpicamhq:/mnt/ramdisk $ time convert image.jpg -colorspace Gray -format "%[fx:quantumrange*image.mean]" info:
1039.34
real 0m1,989s
user 0m1,753s
sys 0m0,193s
Imagemagick identifiziert das Format
pi@rpicamhq:/mnt/ramdisk $ time identify -format "%[mean]\n" image.jpg
1128.99
real 0m3,357s
user 0m3,133s
sys 0m0,199s
pi@rpicamhq:/mnt/ramdisk $ time identify -format "%[fx:mean]\n" image.jpg
0.0172272
real 0m3,435s
user 0m3,274s
sys 0m0,130s
pi@rpicamhq:/mnt/ramdisk $ time identify -format "%[fx:quantumrange*mean]\n" image.jpg
1128.99
real 0m3,387s
user 0m3,218s
sys 0m0,139s
Imagemagick identifiziert Exif
pi@rpicamhq:/mnt/ramdisk $ time identify -format '%[EXIF:BrightnessValue]'
real 0m0,275s
user 0m0,071s
sys 0m0,040s
Exiftool
pi@rpicamhq:/mnt/ramdisk $ time exiftool -a -u -g1 image.jpg | grep 'Brightness'
Brightness Value : 0.01
real 0m2,647s
user 0m2,429s
sys 0m0,191s
exiv2
pi@rpicamhq:/mnt/ramdisk $ time exiv2 -PElt image.jpg | grep 'Brightness'
Brightness 0.01
real 0m0,097s
user 0m0,042s
sys 0m0,050s
exiv2, ohne grep
pi@rpicamhq:/mnt/ramdisk $ time exiv2 -PElt -g Brightness image.jpg
Brightness 0.01
real 0m0,070s
user 0m0,024s
sys 0m0,039s