저는 openHAB을 사용하고 있으며 오래된 휴대폰을 낮/밤 표시기로 사용하고 싶습니다. 웹캠 앱을 설치했는데 하늘을 촬영하고 있어요. 를 통해 최신 사진을 얻을 수 있습니다 http://[ip]/shot.jpg
.
다음과 같이 "밝기 값"을 얻을 수 있습니까 curl http://[ip]/shot.jpg | some-command --get-brightness
?
답변1
질문에 답변됨여기 소프트웨어 권장 사항 스택 교환에 있습니다.~에 의해스티브 반스.
두 가지 가능성:
imagemagick을 사용하여 휴대폰 카메라에 자동 노출이 없거나 꺼져 있는 동안 이미지의 밝기가 작동하는지 확인하십시오. 그렇지 않으면 극단적인 값(어두움/밝음)에서만 작동합니다.
convert <image> -colorspace Gray -format "%[fx:quantumrange*image.mean]" info:
Exiftool은 파일에서 EXIF 정보를 구문 분석하고 합리적으로 일관된 판독값을 제공하는 "Light Value"를 추출할 수 있습니다(특정 휴대폰의 카메라에 이 태그가 포함되어 있다고 가정).
두 도구 모두 무료이며 무료이며 오픈 소스이며 대부분의 플랫폼에서 사용할 수 있습니다.
답변2
Exiftool 대신 다음을 사용할 수 있습니다.exiv2, 이는 EXIFtool 및 imagemagick보다 훨씬 빠른 것으로 나타났습니다.
비교(Raspberry Pi Zero)
항상 동일한 4056 x 3040 이미지로 테스트되었습니다.
Imagemagick 변환
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 식별 형식
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은 EXIF를 식별합니다
pi@rpicamhq:/mnt/ramdisk $ time identify -format '%[EXIF:BrightnessValue]'
real 0m0,275s
user 0m0,071s
sys 0m0,040s
엑시프툴
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, grep 없음
pi@rpicamhq:/mnt/ramdisk $ time exiv2 -PElt -g Brightness image.jpg
Brightness 0.01
real 0m0,070s
user 0m0,024s
sys 0m0,039s