imageio_memory.py
# Este trabalho está licenciado sob a licença MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Todos os direitos reservados.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Exemplo de I/O de Stream de Imagem em Memória
#
# Este exemplo mostra como usar o stream ImageIO para gravar frames em memória e reproduzi-los depois.
# Nota: Embora isso deva funcionar em qualquer placa, a placa deve ter SDRAM para ter alguma utilidade.
import csi
import image
import time
# Número de frames a pré-alocar e gravar
N_FRAMES = 500
csi0 = csi.CSI()
csi0.reset() # Reinicia e inicializa o sensor.
csi0.pixformat(csi.RGB565) # Define o formato de pixel para RGB565 (ou GRAYSCALE)
csi0.framesize(csi.QVGA) # Define o tamanho do frame para QVGA (320x240)
# Este tamanho de frame deve corresponder ao tamanho de imagem passado para o ImageIO
csi0.window((120, 120))
csi0.snapshot(time=2000)
clock = time.clock()
# Grava no stream de memória
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:
# Rebobina o stream e reproduz
stream.seek(0)
for i in range(0, N_FRAMES):
img = stream.read(copy_to_fb=True, pause=True)
# Execute algoritmos de visão computacional na imagem aqui.