high_fps.py
# Este trabalho está licenciado sob a licença MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Todos os direitos reservados.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Exemplo de FPS alto
#
# Este exemplo demonstra como tornar a taxa de quadros da câmera de obturador global extremamente
# alta. Para isso, é preciso definir a resolução para um valor baixo, de modo que o pixel binning seja
# ativado na câmera, e então reduzir o tempo máximo de exposição.
#
# Quando a resolução é 320x240 ou menor, a câmera lê os pixels 2x mais rápido. Quando a
# resolução é 160x120 ou menor, a câmera lê os pixels 4x mais rápido. Isso acontece devido
# ao pixel binning, que é ativado automaticamente para aumentar a velocidade de leitura.
#
# Embora a velocidade de leitura possa aumentar, a câmera ainda precisa expor a imagem pelo tempo
# solicitado, então você não obterá a velocidade máxima de leitura a menos que também reduza o tempo de exposição.
# Isso resulta em uma imagem escura, portanto você PRECISA DE MUITA iluminação para FPS alto.
import csi
import time
csi0 = csi.CSI()
csi0.reset() # Reinicia e inicializa o sensor.
csi0.pixformat(csi.GRAYSCALE) # Define o formato de pixel para GRAYSCALE
csi0.framesize(csi.QQVGA) # Define o tamanho do frame para QQVGA (160x120)
csi0.snapshot(time=2000) # Aguarda as configurações fazerem efeito.
clock = time.clock() # Cria um objeto clock para rastrear o FPS.
csi0.auto_exposure(True, exposure_us=5000) # diminua para ficar mais rápido
while True:
clock.tick() # Atualiza o clock de FPS.
img = csi0.snapshot() # Tira uma foto e retorna a imagem.
print(clock.fps()) # NOTA: A OpenMV Cam roda cerca de metade da velocidade quando conectada
# ao IDE. O FPS deve aumentar assim que desconectada.