imageio_memory.py
# Questo lavoro è concesso in licenza MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Tutti i diritti riservati.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Esempio di I/O su stream in memoria dell'immagine
#
# Questo esempio mostra come usare lo stream ImageIO per registrare fotogrammi in memoria e riprodurli.
# Nota: sebbene questo dovrebbe funzionare su qualsiasi scheda, la scheda dovrebbe avere una SDRAM per essere utile.
import csi
import image
import time
# Numero di fotogrammi da pre-allocare e registrare
N_FRAMES = 500
csi0 = csi.CSI()
csi0.reset() # Resetta e inizializza il sensore.
csi0.pixformat(csi.RGB565) # Imposta il formato pixel su RGB565 (o GRAYSCALE)
csi0.framesize(csi.QVGA) # Imposta la dimensione del fotogramma su QVGA (320x240)
# Questa dimensione del fotogramma deve corrispondere alla dimensione dell'immagine passata a ImageIO
csi0.window((120, 120))
csi0.snapshot(time=2000)
clock = time.clock()
# Scrivi sullo stream in memoria
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:
# Riavvolgi lo stream e riproduci
stream.seek(0)
for i in range(0, N_FRAMES):
img = stream.read(copy_to_fb=True, pause=True)
# Applica qui gli algoritmi di visione artificiale sull'immagine.