グローバルシャッターカメラモジュール¶
グローバルシャッターカメラモジュールは、ローリングシャッターのアーティファクトなしに高速な動きを捉えるモノクロセンサーです。高速トラッキング、ドローン、マシンビジョンのスナップショットに適しています。このモジュールには MT9V024 または MT9V034 センサーのいずれかが搭載されています。
完全なデータシート、写真、注文方法については、グローバルシャッターカメラモジュール製品ページ を参照してください。
主な特長¶
752x480 のグローバルシャッターモノクロセンサー
QVGA で 80 FPS、QQVGA で 200 FPS、QQQVGA で 400 FPS
55 dB のダイナミックレンジ
すべてのモジュラー型 OpenMV Cam ベースボードと互換性があります
使い方¶
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())
センサーは低解像度で自動的にピクセルビニングを有効にします。QVGA(320x240)以下では 2x、QQVGA(160x120)以下では 4x となり、読み出し時間が比例して短縮されてフレームレートが上がります。ただし、要求された露出ウィンドウの間センサーは依然として光を積分する必要があるため、より高いレートを実際に達成するには、csi.CSI.auto_exposure で露出の上限を短くすることとフレームサイズの低下を組み合わせてください(画像は暗くなります。追加の照明を見込んでください):
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())
トリガーモードでは、ピクセルの積分が各 csi.CSI.snapshot 呼び出しと正確に揃うため、カメラのフリーランニングなフレームクロックではなくスナップショットにキャプチャが同期します。外部イベントや別のセンサーと同期するのに役立ちます。csi.CSI.ioctl に csi.IOCTL_SET_TRIGGERED_MODE を指定して有効化します。読み出しが次のフレームの積分とパイプライン化されなくなるため、フレームレートはフリーランニングモードのおよそ半分に低下します:
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())