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.
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())