Global Shutter kameramodul¶
A Global Shutter kameramodul egy monokróm érzékelő, amely gyors mozgást rögzít rolling-shutter műtermékek nélkül. Alkalmas nagy sebességű követéshez, drónokhoz és gépi látás pillanatképekhez. A modul vagy az MT9V024, vagy az MT9V034 érzékelővel kerül forgalomba.
A teljes adatlapot, fényképeket és rendelési információkat lásd a Global Shutter kameramodul termékoldalán.
Kiemelt jellemzők¶
752x480 global-shutter monokróm érzékelő
80 FPS QVGA-nál, 200 FPS QQVGA-nál, 400 FPS QQQVGA-nál
55 dB dinamikatartomány
Kompatibilis az összes moduláris OpenMV Cam alaplappal
Használat¶
Szürkeárnyalatos videó streamelése 320x240 (QVGA) felbontásban:
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())
Az érzékelő alacsonyabb felbontásoknál automatikusan aktiválja a képpont-összevonást — 2x QVGA-nál (320x240) vagy kisebbnél, 4x QQVGA-nál (160x120) vagy kisebbnél —, ami arányosan csökkenti a kiolvasási időt és feljebb tolja a képkockasebességet. A kamerának azonban a kért expozíciós ablakhoz továbbra is integrálnia kell a fényt, ezért a framesize csökkentését párosítsd egy rövidebb expozíciós korláttal a csi.CSI.auto_exposure-on keresztül a magasabb sebességek tényleges eléréséhez (a kép sötétebb lesz — számolj extra megvilágítással):
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())
A triggerelt mód a képpont-integrációt pontosan minden egyes csi.CSI.snapshot híváshoz igazítja, így a felvételek a pillanatképhez szinkronizálódnak, nem pedig a kamera szabadon futó képkocka-órajeléhez — hasznos egy külső eseményhez vagy egy másik érzékelőhöz való szinkronizáláshoz. Engedélyezd a csi.CSI.ioctl-on keresztül a csi.IOCTL_SET_TRIGGERED_MODE-dal — a képkockasebesség nagyjából a szabadon futó mód felére esik, mert a kiolvasás már nem fut futószalagon a következő képkocka integrációjával:
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())