Получите яркость изображения

Я использую openHAB и хочу использовать старый мобильный телефон в качестве индикатора дня и ночи. Я установил приложение для веб-камеры, и оно снимает небо.

Я могу получить последний снимок через http://[ip]/shot.jpg. Могу ли я получить «значение яркости» следующим образом curl http://[ip]/shot.jpg | some-command --get-brightness:

Ответы (1)

Две возможности:

  1. Использование imagemagick для проверки яркости изображения будет работать до тех пор, пока камера телефона не имеет автоэкспозиции или выключена, в противном случае она будет работать только для экстремальных значений (темно/светло), напримерconvert <image> -colorspace Gray -format "%[fx:quantumrange*image.mean]" info:
  2. exiftool может анализировать информацию EXIF ​​​​из файла и извлекать «Значение освещенности», которое должно дать вам достаточно последовательное чтение (при условии, что камера на вашем конкретном телефоне включает этот тег) .

Оба инструмента бесплатны, бесплатны, имеют открытый исходный код и доступны для большинства платформ.

Я только что проверил convertкоманду, она работает и возвращает число вроде 6310,78 или 13553,1.
@NicolasRaoul - так что теперь все, что вам нужно сделать, это откалибровать значения для камеры и вид, который она имеет.
graphicsmagick-imagemagick-compatДостаточно ли пакета Ubuntu/Debian ?
@ Motte001 - Кажется, в прошлый раз я просто использовал sudo apt-get install imagemagick.