Modul kamery s globální závěrkou¶
Modul kamery s globální závěrkou je monochromatický senzor, který zachycuje rychlý pohyb bez artefaktů rolovací závěrky. Vhodný pro vysokorychlostní sledování, drony a snímky strojového vidění. Modul se dodává buď se senzorem MT9V024, nebo MT9V034.
Kompletní datasheet, fotografie a možnosti objednání naleznete na stránce produktu modul kamery s globální závěrkou.
Hlavní vlastnosti¶
Monochromatický senzor s globální závěrkou a rozlišením 752x480
80 FPS při QVGA, 200 FPS při QQVGA, 400 FPS při QQQVGA
Dynamický rozsah 55 dB
Kompatibilní se všemi modulárními základními deskami OpenMV Cam
Použití¶
Streamujte video ve stupních šedi při 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())
Senzor automaticky aktivuje binning pixelů při nižších rozlišeních — 2x při QVGA (320x240) nebo menším, 4x při QQVGA (160x120) nebo menším — což úměrně zkracuje dobu vyčítání a zvyšuje snímkovou frekvenci. Kamera však stále musí integrovat světlo po požadované okno expozice, takže zkombinujte snížení velikosti snímku s kratším limitem expozice prostřednictvím csi.CSI.auto_exposure, abyste vyšších rychlostí skutečně dosáhli (obraz bude tmavší — počítejte s dodatečným osvětlením):
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())
Spouštěný režim přesně srovnává integraci pixelů s každým voláním csi.CSI.snapshot, takže se snímky synchronizují se snímkem, nikoliv s volně běžícím snímkovým hodinovým signálem kamery — užitečné pro synchronizaci s externí událostí nebo jiným senzorem. Povolte jej prostřednictvím csi.CSI.ioctl s csi.IOCTL_SET_TRIGGERED_MODE — snímková frekvence klesá zhruba na polovinu volně běžícího režimu, protože vyčítání už není pipeline s integrací dalšího snímku:
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())