imageio_memory.py
# Ce travail est publié sous licence MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Tous droits réservés.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Exemple d'entrées/sorties de flux en mémoire d'images
#
# Cet exemple montre comment utiliser le flux ImageIO pour enregistrer des images en mémoire et les relire.
# Remarque : bien que cela devrait fonctionner sur toute carte, la carte doit disposer d'une SDRAM pour que cela soit utile.
import csi
import image
import time
# Nombre d'images à pré-allouer et à enregistrer
N_FRAMES = 500
csi0 = csi.CSI()
csi0.reset() # Réinitialiser et initialiser le capteur.
csi0.pixformat(csi.RGB565) # Définir le format de pixel sur RGB565 (ou GRAYSCALE)
csi0.framesize(csi.QVGA) # Définir la taille de l'image sur QVGA (320x240)
# Cette taille d'image doit correspondre à la taille d'image transmise à ImageIO
csi0.window((120, 120))
csi0.snapshot(time=2000)
clock = time.clock()
# Écrire dans le flux mémoire
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:
# Rembobiner le flux et relire
stream.seek(0)
for i in range(0, N_FRAMES):
img = stream.read(copy_to_fb=True, pause=True)
# Effectuez ici les algorithmes de vision par ordinateur sur l'image.