Global Shutter -kameramoduuli

Global Shutter Camera Module on monokromaattinen sensori, joka kaappaa nopean liikkeen ilman rolling shutter -artefakteja. Sopii suuren nopeuden seurantaan, droneihin ja konenäön tilannekuviin. Moduuli toimitetaan joko MT9V024- tai MT9V034-sensorilla.

Global Shutter -kameramoduuli

Täydellisen datalehden, kuvat ja tilaustiedot löydät Global Shutter Camera Module -tuotesivulta.

Kohokohdat

  • 752x480 global-shutter-monokromaattisensori

  • 80 FPS QVGA-tarkkuudella, 200 FPS QQVGA-tarkkuudella, 400 FPS QQQVGA-tarkkuudella

  • 55 dB:n dynaaminen alue

  • Yhteensopiva kaikkien modulaaristen OpenMV Cam -peruskorttien kanssa

Käyttö

Suoratoista harmaasävyvideota tarkkuudella 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())

Sensori aktivoi automaattisesti pikselien yhdistämisen (binning) alemmilla resoluutioilla — 2x QVGA:lla (320x240) tai pienemmällä, 4x QQVGA:lla (160x120) tai pienemmällä — mikä lyhentää ulkolukuaikaa suhteellisesti ja nostaa kehysnopeutta. Kameran on kuitenkin yhä integroitava valoa pyydetyn valotusikkunan ajan, joten yhdistä kehyskoon pienennys lyhyempään valotuskattoon ominaisuuden csi.CSI.auto_exposure kautta saavuttaaksesi todella korkeammat nopeudet (kuva on tummempi — varaudu lisävalaistukseen):

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

Liipaisutila kohdistaa pikselien integroinnin täsmälleen jokaisen csi.CSI.snapshot-kutsun kanssa, jolloin kaappaukset synkronoituvat tilannekuvaan eivätkä kameran vapaasti käyvään kehyskelloon — hyödyllinen synkronoinnissa ulkoiseen tapahtumaan tai toiseen sensoriin. Ota se käyttöön komennolla csi.CSI.ioctl arvolla csi.IOCTL_SET_TRIGGERED_MODE — kehysnopeus laskee suunnilleen puoleen vapaasti käyvän tilan nopeudesta, koska ulkoluku ei enää limity seuraavan kehyksen integroinnin kanssa:

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