triggered_mode.py

# この作品はMITライセンスの下で提供されています。
# Copyright (c) 2013-2023 OpenMV LLC. 全著作権所有。
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# グローバルシャッタートリガーモードの例
#
# この例では、グローバルシャッターカメラをトリガーモードに設定する方法を示します。トリガーモードでは
# snapshot()がカメラ画素の積分開始タイミングを正確に制御するため、
# 外部の動きに合わせて撮影を同期させることができます。カメラは全画素を同時に取り込むため
# (ローリングシャッターカメラではなくグローバルシャッターカメラであるため)、画像内の動きは
# 積分時間分のみ写り込み、画像の行数を掛けた積分時間分は写り込みません。
# さらに、トリガーモードではカメラが露光完了後まで行の読み出しを行わないため、
# センサーノイズが低減され、より高品質な画像が得られます。
#
# ただし、フレームが連続的に生成されなくなり、また読み出し前に積分の完了を
# 待つ必要があるため、最大フレームレートは2~3分の1に低下します
# (フレームの読み出しについて)。

import csi
import time

csi0 = csi.CSI()
csi0.reset()  # センサーをリセットして初期化します。
csi0.pixformat(csi.GRAYSCALE)  # ピクセルフォーマットをGRAYSCALEに設定します
csi0.framesize(csi.VGA)  # フレームサイズをVGA(640x480)に設定します
csi0.snapshot(time=2000)  # 設定が反映されるまで待ちます。
clock = time.clock()  # FPSを計測するためのclockオブジェクトを作成します。

csi0.ioctl(csi.IOCTL_SET_TRIGGERED_MODE, True)

while True:
    clock.tick()  # FPSクロックを更新します。
    img = csi0.snapshot()  # 画像を撮影して返します。
    print(clock.fps())  # 注意: OpenMV CamはIDEに接続されている間、
    # 速度が約半分になります。切断すればFPSは向上します。

results matching ""

    No results matching ""