imageio_memory.py
# この作品はMITライセンスの下で提供されています。
# Copyright (c) 2013-2023 OpenMV LLC. 全著作権所有。
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Imageメモリストリーム入出力の例
#
# この例では、ImageIOストリームを使ってフレームをメモリ上に記録し、再生する方法を示します。
# 注意: この機能はどのボードでも動作するはずですが、実用的に使うにはSDRAMを搭載したボードが必要です。
import csi
import image
import time
# あらかじめ確保して記録するフレーム数
N_FRAMES = 500
csi0 = csi.CSI()
csi0.reset() # センサーをリセットして初期化します。
csi0.pixformat(csi.RGB565) # ピクセルフォーマットをRGB565(またはGRAYSCALE)に設定します
csi0.framesize(csi.QVGA) # フレームサイズをQVGA(320x240)に設定します
# このフレームサイズは、ImageIOに渡す画像サイズと一致させる必要があります
csi0.window((120, 120))
csi0.snapshot(time=2000)
clock = time.clock()
# メモリストリームに書き込みます
stream = image.ImageIO((120, 120, csi.RGB565), N_FRAMES)
for i in range(0, N_FRAMES):
clock.tick()
stream.write(csi0.snapshot())
print(clock.fps())
while True:
# ストリームを巻き戻して再生します
stream.seek(0)
for i in range(0, N_FRAMES):
img = stream.read(copy_to_fb=True, pause=True)
# ここで画像に対してマシンビジョンアルゴリズムを実行します。