Вы можете сделать снимок последовательности изображений, которые выглядят одинаково с точки зрения яркости, цвета и контраста (например, это может быть полезно при съемке с интервальной съемкой). Для обеспечения согласованности нескольких снимков необходимо использовать различные атрибуты. В частности, вам необходимо убедиться, что время экспозиции камеры, баланс белого и усиление зафиксированы:
Чтобы зафиксировать время экспозиции, установите для shutter_speed
атрибута разумное значение. При желании можно установить iso
фиксированное значение. Чтобы зафиксировать усиление экспозиции, разрешите analog_gain
и digital_gain
установите разумные значения, затем установите для параметра многоквартирный режим значение 'off'
. Для того, чтобы исправить баланс белого, установите awb_mode
для
'off'
, а затем установить awb_gains
на (красный, синий) кортеж прибыли.
Может быть трудно узнать, какие подходящие значения могут быть для этих атрибутов. Для iso
, простое правило заключается в том , что 100 и 200 являются разумные значения для дневного времени, в то время как 400 и 800 лучше для низкой освещенности. Чтобы определить разумное значение, shutter_speed
вы можете запросить exposure_speed
атрибут. Для увеличения экспозиции обычно достаточно подождать, пока значение не analog_gain
станет больше 1, прежде чем exposure_mode
будет установлено значение 'off'
. Наконец, чтобы определить разумные значения, awb_gains
просто запросите свойство, в то время как для awb_mode
него задано нечто иное, чем 'off'
. Опять же, это скажет вам усиление баланса белого камеры, как определено алгоритмом автоматического баланса белого.
Следующий скрипт предоставляет краткий пример настройки этих параметров:
from time import sleep
from picamera import PiCamera
camera = PiCamera(resolution=(1280, 720), framerate=30)
# Set ISO to the desired value
camera.iso = 100
# Wait for the automatic gain control to settle
sleep(2)
# Now fix the values
camera.shutter_speed = camera.exposure_speed
camera.exposure_mode = 'off'
g = camera.awb_gains
camera.awb_mode = 'off'
camera.awb_gains = g
# Finally, take several photos with the fixed settings
camera.capture_sequence(['image%02d.jpg' % i for i in range(10)])