Convém capturar uma sequência de imagens com a mesma aparência em termos de brilho, cor e contraste (isso pode ser útil na fotografia em timelapse, por exemplo). Vários atributos precisam ser usados para garantir consistência em várias fotos. Especificamente, você precisa garantir que o tempo de exposição, o balanço de brancos e os ganhos da câmera sejam todos fixos:
Para fixar o tempo de exposição, defina o shutter_speedatributo com um valor razoável. Opcionalmente, defina isoum valor fixo. Para corrigir os ganhos de exposição, deixe analog_gaine digital_gainaceite valores razoáveis e defina o modo de exposição para 'off'. Para corrigir o balanço de brancos, defina como awb_modee
'off', em seguida, defina awb_gainsuma tupla (vermelha, azul) de ganhos.
Pode ser difícil saber quais valores apropriados podem ser para esses atributos. Pois iso, uma regra simples é que 100 e 200 são valores razoáveis para o dia, enquanto 400 e 800 são melhores para pouca luz. Para determinar um valor razoável, shutter_speedvocê pode consultar o exposure_speedatributo Para ganhos de exposição, geralmente é suficiente esperar até que analog_gainseja maior que 1 antes de exposure_modeser definido como 'off'. Por fim, para determinar valores razoáveis para awb_gains
simplesmente consultar a propriedade enquanto awb_modeestiver definido como algo diferente de 'off'. Mais uma vez, isso mostrará os ganhos de balanço de branco da câmera, conforme determinado pelo algoritmo de balanço de branco automático.
O script a seguir fornece um breve exemplo de configuração dessas configurações:
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)])