Модификация CHDK (Canon Hacker Development Kit)
Требуется добавить функцию в CHDK. Бюджет $200. Исходники можете выкладывать в свободный доступ, т.е. плачу я, а пользоваться смогут все :).
В качестве примера можно посмотреть как написана гистограмма, брекетинг и Custom Auto ISO - думаю основное из того что нужно для этого дополнения к CHDK там есть - https://tools.assembla.com/chdk/
Фотоаппарат у меня IXUS 980 IS (SD990IS). В режиме серийной съемки он снимает 1.4 кадра в секунду, но проблема в том что он фиксирует экспозицию в этом режиме, а мне нужно чтобы он подстраивался под текущие условия. Я пробовал добиться этого при помощи скриптов, в итоге удалось получить такой режим работы, но только со скоростью 0.5 кадра в секунду что мне абсолютно не подходит. Мне нужно чтобы фотоаппарат снимал никак не меньше 1 кадра в секунду (желательно конечно 1.4), подстраивал экспозицию под текущие условия, приблизительно так как это происходит в режиме Custom Auto ISO, т.е. чтобы можно было задать диапазон ISO и выдержек, коэффициенты эффективности стабилизатора не нужны. Только одно отличие в сторону дополнения - нужно еще сделать возможность задавать минимальное значение выдержки ниже которого автоматика не будет уходить ни при каких условиях. Фокусировка - нужно чтобы была настройка в которой можно будет задать значение фокуса, а так же опция позволяющая использовать значение полученное при съемке первого кадра.
Алгоритм работы программы.
Предполагаю что программа должна считать среднюю яркость уже сделанного кадра и выставлять настройки для следующего в зависимости от того на сколько отклонилась средняя яркость. Если средняя яркость становится меньше, то удлинять выдержку пока она не достигнет установленного минимума, и только после этого увеличивать ISO. Т.е. смысл в том чтобы в каждый момент времени была самая короткая возможная выдержка при минимально возможном ISO (минимальность ISO приоритетнее минимальности выдержки) для достижения заданной средней яркости кадра. Нужно чтобы в программе была возможность задать значение целевой яркости, т.е. значение к которому автоматика будет стремиться подогнать среднюю яркость. Мои эксперименты показали, что если средняя яркость меняется приблизительно на 30% это значит что нужно поменять либо ISO либо выдержку в 2 раза, 20% - 1,666 раза, 10% - 1,333 раза. Так же нужно чтобы была возможность задать в процентах размер области из которой будут суммироваться пикселы для получения значения средней яркости. Т.е. при значении этого параметра в 50% будет браться прямоугольник размером пол высоты и пол ширины кадра и находящийся в центре кадра. Так же я не знаю насколько рессурсоемко складывать значения пикселов, поэтому если это будет требовать например 0.2 секунды, то нужно будет добавить настройку которая будет задавать сколько пикселов складывать, значение параметра будет, например, от 1 до 100, при значении, например, 10, будут складываться только каждый 10-й пиксел в строке и только с каждой 10-й строки.