Module de caméra à obturateur global¶
Le module de caméra à obturateur global est un capteur monochrome qui capture les mouvements rapides sans artefacts d’obturateur déroulant. Adapté au suivi à haute vitesse, aux drones et aux captures de vision industrielle. Le module est livré avec le capteur MT9V024 ou le capteur MT9V034.
Pour la fiche technique complète, les photos et les informations de commande, consultez la page produit du module de caméra à obturateur global.
Points forts¶
Capteur monochrome à obturateur global 752x480
80 FPS en QVGA, 200 FPS en QQVGA, 400 FPS en QQQVGA
Plage dynamique de 55 dB
Compatible avec toutes les cartes de base modulaires OpenMV Cam
Utilisation¶
Diffusez une vidéo en niveaux de gris à 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())
Le capteur active automatiquement le regroupement de pixels aux résolutions plus basses — 2x en QVGA (320x240) ou inférieur, 4x en QQVGA (160x120) ou inférieur — ce qui réduit proportionnellement le temps de lecture et augmente la cadence de trames. Le capteur doit toutefois toujours intégrer la lumière pendant la fenêtre d’exposition demandée, alors associez la réduction de framesize à un plafond d’exposition plus court via csi.CSI.auto_exposure pour atteindre réellement les débits plus élevés (l’image sera plus sombre — prévoyez un éclairage supplémentaire)
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())
Le mode déclenché aligne l’intégration des pixels exactement avec chaque appel csi.CSI.snapshot, de sorte que les captures se synchronisent sur la capture plutôt que sur l’horloge de trame libre de la caméra — utile pour se synchroniser sur un événement externe ou un autre capteur. Activez-le via csi.CSI.ioctl avec csi.IOCTL_SET_TRIGGERED_MODE — la cadence de trames chute à environ la moitié de celle du mode libre car la lecture ne se met plus en pipeline avec l’intégration de la trame suivante
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())