Enregistrer le temps de latence
En supposant qu'après l'exécution du programme, l'image s'arrête de temps en temps, cela indique que le FPS est faible.
Compter le FPS
import csi, image, time
csi0 = csi.CSI()
csi0.reset() # Réinitialise et initialise le capteur.
csi0.pixformat(csi.RGB565) # Définit le format de pixel sur RGB565 (ou GRAYSCALE)
csi0.framesize(csi.QVGA) # Définit la taille d'image sur QVGA (320x240)
csi0.snapshot(frames=10) # Attend que les réglages prennent effet.
clock = time.clock() # Crée un objet horloge pour suivre le FPS.
while(True):
clock.tick() # Met à jour l'horloge FPS.
img = csi0.snapshot() # Prend une photo et renvoie l'image.
print(clock.fps())
Suivez les images par seconde grâce à time.clock().
Si les images par seconde sont faibles, vous pouvez calculer le temps des
différents traitements grâce à millis(). Vous pouvez mesurer précisément où le plus de temps est consommé dans la procédure.
Exemple :
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)
Utilisez pyb.millis() pour enregistrer l'heure de début.
Puis, après une période de temps, calculez la déviation, c'est-à-dire la durée écoulée.