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