Первая мысль - камера. У меня Logitech C270. Набросал небольшой скрипт:
ffmpeg -f video4linux2 -s 1280x720 -i /dev/video2 -f image2 /tmp/snapshot.jpg -y 2>/dev/null
lumen=`convert /tmp/snapshot.jpg -colorspace GRAY -resize 1x1 txt: | egrep -o '[0-9]+.[0-9]+%' | egrep -o '[0-9]+.[0-9]+' | tr . ,`
echo $lumen;
printf "%.0f \n" $lumen #2>/dev/null
Но вот проблема - значение детектируемой яркости вечером с освещением включенным в кабинете выходит в диапазоне 53-57, а без него 26-38.
Но даже утром солнечного дня, когда солнце еще не в зените, но в кабинете уже значительно светлее (в разы) я получаю значения в области 57-59. Очевидно в камере есть какой-то механизм регулирования яркости картинки (чувствительности матрицы или хрен его знает еще как) и она старается привести картинки к среднему серому. Собственно это подтверждается описанием с сайта производителя. Похоже все, даже самые дешевые камеры устроены так же.
Как бы эту хрень отключить? Или из чего еще сделать датчик освещенности рабочего места?