Registar o tempo de atraso
Assumindo que, depois de correr o programa, a imagem para de vez em quando, isso indica que o FPS é baixo.
Contar o FPS
import csi, image, time
csi0 = csi.CSI()
csi0.reset() # Reinicia e inicializa o sensor.
csi0.pixformat(csi.RGB565) # Define o formato de pixel para RGB565 (ou GRAYSCALE)
csi0.framesize(csi.QVGA) # Define o tamanho do quadro para QVGA (320x240)
csi0.snapshot(frames=10) # Aguarda até que as configurações tenham efeito.
clock = time.clock() # Cria um objeto de relógio para monitorizar o FPS.
while(True):
clock.tick() # Atualiza o relógio de FPS.
img = csi0.snapshot() # Tira uma foto e devolve a imagem.
print(clock.fps())
Acompanhe a taxa de fotogramas por segundo através de time.clock().
Se a taxa de fotogramas for baixa,então pode calcular o tempo de diferentes processos
através de millis().Pode medir onde exatamente o programa consome mais tempo.
Exemplo:
import csi, image, time
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.QVGA)
csi0.snapshot(time = 2000)
clock = time.clock()
while(True):
time_start = time.ticks_ms()
img = csi0.snapshot()
time_end = time.ticks_ms()
print(time_end - time_start)
Use pyb.millis() para registar o tempo inicial.
Depois, ao fim de um período de tempo, calcule a diferença para obter a duração.