Módulo de Câmara de Obturador Global

O Módulo de Câmara de Obturador Global é um sensor monocromático que captura movimento rápido sem artefactos de obturador rolante. Adequado para rastreamento de alta velocidade, drones e capturas de visão por computador. O módulo é fornecido com o sensor MT9V024 ou MT9V034.

Global Shutter Camera Module

Para ficha técnica completa, fotografias e encomendas, consulte a página de produto do Módulo de Câmara de Obturador Global.

Destaques

  • Sensor monocromático de obturador global 752x480

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

  • Intervalo dinâmico de 55 dB

  • Compatível com todas as placas base modulares OpenMV Cam

Utilização

Transmitir vídeo em escala de cinzentos 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())

O sensor ativa automaticamente o binning de pixels a resoluções inferiores — 2x em QVGA (320x240) ou menor, 4x em QQVGA (160x120) ou menor — o que reduz o tempo de leitura proporcionalmente e aumenta a taxa de fotogramas. A câmara ainda tem de integrar luz durante a janela de exposição solicitada, pelo que combine a redução do tamanho de fotograma com um limite de exposição mais curto via csi.CSI.auto_exposure para atingir realmente as taxas superiores (a imagem ficará mais escura — preveja iluminação 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())

O modo acionado alinha a integração de pixels exatamente com cada chamada a csi.CSI.snapshot, pelo que as capturas se sincronizam com o snapshot em vez do relógio de fotograma livre da câmara — útil para sincronizar com um evento externo ou outro sensor. Ative-o através de csi.CSI.ioctl com csi.IOCTL_SET_TRIGGERED_MODE — a taxa de fotogramas cai para cerca de metade do modo livre porque a leitura deixa de processar em pipeline com a integração do próximo 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())