Vous souhaiterez peut-être capturer une séquence d'images qui se ressemblent toutes en termes de luminosité, de couleur et de contraste (cela peut être utile en photographie accélérée, par exemple). Divers attributs doivent être utilisés afin d'assurer la cohérence entre plusieurs prises de vue. Plus précisément, vous devez vous assurer que le temps d'exposition, la balance des blancs et les gains de l'appareil photo sont tous fixes:
Pour fixer le temps d'exposition, définissez l' shutter_speed
attribut sur une valeur raisonnable. Vous pouvez éventuellement définir iso
une valeur fixe. Pour fixer les gains d'exposition, laissez analog_gain
et digital_gain
réglez sur des valeurs raisonnables, puis définissez exposition_mode sur 'off'
. Pour corriger la balance des blancs, définissez le awb_mode
sur
'off'
, puis définissez awb_gains
sur un tuple (rouge, bleu) de gains.
Il peut être difficile de savoir quelles valeurs appropriées pourraient être pour ces attributs. Pour iso
, une règle de base simple est que 100 et 200 sont des valeurs raisonnables pour la journée, tandis que 400 et 800 sont meilleurs pour une faible luminosité. Pour déterminer une valeur raisonnable, shutter_speed
vous pouvez interroger l' exposure_speed
attribut. Pour les gains d'exposition, il suffit généralement d'attendre une valeur analog_gain
supérieure à 1 avant de exposure_mode
définir 'off'
. Enfin, pour déterminer des valeurs raisonnables pour awb_gains
simplement interroger la propriété while awb_mode
est définie sur autre chose que 'off'
. Encore une fois, cela vous indiquera les gains de balance des blancs de l'appareil photo tels que déterminés par l'algorithme de balance des blancs automatique.
Le script suivant fournit un bref exemple de configuration de ces paramètres:
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)])