経過時間を記録する
プログラムを実行した後、画像がときどき止まってしまう場合、それは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() # FPSを計測するためのclockオブジェクトを作成する
while(True):
clock.tick() # FPSクロックを更新する
img = csi0.snapshot() # 画像を取得する
print(clock.fps())
time.clock()を使えばFPSを追跡できます。
もしFPSが低い場合は、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()を使って開始時刻を記録します。
その後、一定時間が経過した時点との差分を取り、経過時間を計算します。