Módulo de cámara de obturador global

El módulo de cámara de obturador global es un sensor monocromo que captura movimiento rápido sin artefactos de obturador progresivo (rolling shutter). Adecuado para rastreo de alta velocidad, drones y capturas de visión artificial. El módulo se entrega con el sensor MT9V024 o MT9V034.

Módulo de cámara de obturador global

Para ver la hoja de datos completa, fotos e información de pedido, consulta la página de producto del módulo de cámara de obturador global.

Aspectos destacados

  • Sensor monocromo de obturador global de 752x480

  • 80 FPS a QVGA, 200 FPS a QQVGA, 400 FPS a QQQVGA

  • Rango dinámico de 55 dB

  • Compatible con todas las placas base modulares de OpenMV Cam

Uso

Transmite vídeo en escala de grises a 320x240 (QVGA):

import csi
import time

csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.GRAYSCALE)
csi0.framesize(csi.QVGA)
clock = time.clock()

while True:
    clock.tick()
    img = csi0.snapshot()
    print(clock.fps())

El sensor activa automáticamente el agrupamiento de píxeles (binning) a resoluciones más bajas (2x a QVGA (320x240) o menor, 4x a QQVGA (160x120) o menor), lo que reduce proporcionalmente el tiempo de lectura y aumenta la tasa de fotogramas. Sin embargo, la cámara todavía tiene que integrar luz durante la ventana de exposición solicitada, así que combina la reducción del framesize con un tope de exposición más corto mediante csi.CSI.auto_exposure para alcanzar realmente las tasas más altas (la imagen será más oscura: prevé iluminación adicional):

import csi
import time

csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.GRAYSCALE)
csi0.framesize(csi.QQVGA)
csi0.snapshot(time=2000)  # let auto-exposure settle
csi0.auto_exposure(True, exposure_us=5000)  # cap exposure
clock = time.clock()

while True:
    clock.tick()
    img = csi0.snapshot()
    print(clock.fps())

El modo activado por disparo alinea la integración de píxeles exactamente con cada llamada a csi.CSI.snapshot, de modo que las capturas se sincronizan con la captura en lugar del reloj de fotogramas de marcha libre de la cámara, útil para sincronizar con un evento externo u otro sensor. Actívalo mediante csi.CSI.ioctl con csi.IOCTL_SET_TRIGGERED_MODE: la tasa de fotogramas cae a aproximadamente la mitad del modo de marcha libre porque la lectura ya no se solapa con la integración del siguiente fotograma:

import csi
import time

csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.GRAYSCALE)
csi0.framesize(csi.VGA)
csi0.snapshot(time=2000)

csi0.ioctl(csi.IOCTL_SET_TRIGGERED_MODE, True)

clock = time.clock()
while True:
    clock.tick()
    img = csi0.snapshot()
    print(clock.fps())