Учёт затраченного времени
Если после запуска программы изображение периодически "подвисает", это означает, что частота кадров (FPS) низкая.
Подсчёт FPS
import csi, image, time
csi0 = csi.CSI()
csi0.reset() # Сброс и инициализация датчика.
csi0.pixformat(csi.RGB565) # Установить формат пикселей RGB565 (или GRAYSCALE)
csi0.framesize(csi.QVGA) # Установить размер кадра QVGA (320x240)
csi0.snapshot(frames=10) # Дождаться применения настроек.
clock = time.clock() # Создать объект clock для отслеживания FPS.
while(True):
clock.tick() # Обновить счётчик FPS.
img = csi0.snapshot() # Сделать снимок и вернуть изображение.
print(clock.fps())
Отслеживайте частоту кадров с помощью time.clock().
Если частота кадров низкая, вы можете вычислить время, затраченное на
разные этапы, с помощью millis(). Так можно измерить, на каком именно этапе программа тратит больше всего времени.
Пример:
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)
Используйте pyb.millis(), чтобы зафиксировать начальное время.
Затем, спустя некоторый промежуток времени, найдите разницу и вычислите затраченное время.