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.

results matching ""

    No results matching ""