imageio_memory.py
# Esta obra está licenciada bajo la licencia MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Todos los derechos reservados.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Ejemplo de E/S de flujo de memoria de imagen
#
# Este ejemplo muestra cómo usar el flujo ImageIO para grabar fotogramas en memoria y reproducirlos.
# Nota: Aunque esto debería funcionar en cualquier placa, la placa debería tener SDRAM para que sea de alguna utilidad.
import csi
import image
import time
# Número de fotogramas a preasignar y grabar
N_FRAMES = 500
csi0 = csi.CSI()
csi0.reset() # Restablecer e inicializar el sensor.
csi0.pixformat(csi.RGB565) # Establecer el formato de píxel a RGB565 (o GRAYSCALE)
csi0.framesize(csi.QVGA) # Establecer el tamaño de fotograma a QVGA (320x240)
# Este tamaño de fotograma debe coincidir con el tamaño de imagen pasado a ImageIO
csi0.window((120, 120))
csi0.snapshot(time=2000)
clock = time.clock()
# Escribir en el flujo de 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:
# Rebobinar el flujo y reproducir
stream.seek(0)
for i in range(0, N_FRAMES):
img = stream.read(copy_to_fb=True, pause=True)
# Realice aquí los algoritmos de visión artificial sobre la imagen.