图像内存流I/O示例
# 本作品采用MIT许可证授权。
# 版权所有 (c) 2013-2023 OpenMV LLC。保留所有权利。
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# 图像内存流I/O示例
#
# 此示例展示了如何使用ImageIO流在内存中录制帧并回放它们。
# 注意:虽然这应该在任何板上都能工作,但板子需要有SDRAM才能发挥作用。
import csi
import image
import time
# 预分配和记录的帧数
N_FRAMES = 500
csi0 = csi.CSI()
csi0.reset() # 重置并初始化传感器。
csi0.pixformat(csi.RGB565) # 将像素格式设置为RGB565 (or 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)
# 在此处对图像进行机器视觉算法处理。