imageio_memory.py
# Dieses Werk ist unter der MIT-Lizenz lizenziert.
# Copyright (c) 2013-2023 OpenMV LLC. Alle Rechte vorbehalten.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Image-Memory-Stream-I/O-Beispiel
#
# Dieses Beispiel zeigt, wie der ImageIO-Stream verwendet wird, um Frames im Speicher aufzuzeichnen und wieder abzuspielen.
# Hinweis: Dies sollte zwar auf jedem Board funktionieren, das Board sollte jedoch über SDRAM verfügen, um sinnvoll nutzbar zu sein.
import csi
import image
import time
# Anzahl der vorab zu reservierenden und aufzuzeichnenden Frames
N_FRAMES = 500
csi0 = csi.CSI()
csi0.reset() # Sensor zurücksetzen und initialisieren.
csi0.pixformat(csi.RGB565) # Pixelformat auf RGB565 (oder GRAYSCALE) setzen
csi0.framesize(csi.QVGA) # Framegröße auf QVGA (320x240) setzen
# Diese Framegröße muss mit der an ImageIO übergebenen Bildgröße übereinstimmen
csi0.window((120, 120))
csi0.snapshot(time=2000)
clock = time.clock()
# In den Speicher-Stream schreiben
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 zurückspulen und abspielen
stream.seek(0)
for i in range(0, N_FRAMES):
img = stream.read(copy_to_fb=True, pause=True)
# Hier maschinelle Bildverarbeitungsalgorithmen auf das Bild anwenden.