Registrar el tiempo de retraso

Suponiendo que después de ejecutar el programa la imagen se detiene de vez en cuando, esto indica que los FPS son bajos.

Contar FPS

import csi, image, time
csi0 = csi.CSI()

csi0.reset()                      # Reiniciar e inicializar el sensor.
csi0.pixformat(csi.RGB565) # Establecer el formato de píxel a RGB565 (o GRAYSCALE)
csi0.framesize(csi.QVGA)   # Establecer el tamaño de fotograma a QVGA (320x240)
csi0.snapshot(frames=10)              # Esperar a que la configuración surta efecto.
clock = time.clock()                # Crear un objeto de reloj para rastrear los FPS.

while(True):
    clock.tick()                    # Actualizar el reloj de FPS.
    img = csi0.snapshot()         # Tomar una foto y devolver la imagen.
    print(clock.fps())

Rastrea los fotogramas por segundo a través de time.clock().

Si los fotogramas por segundo son bajos, puedes calcular el tiempo de los

distintos procesos mediante millis(). Puedes medir en qué parte exacta del procedimiento se consume más tiempo.

Ejemplo:

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)

Usa pyb.millis() para registrar el tiempo de inicio.

Luego, después de un período de tiempo, toma la diferencia y calcula la duración transcurrida.

results matching ""

    No results matching ""