tof_overlay.py

# この作品はMITライセンスの下で提供されています。
# Copyright (c) 2013-2023 OpenMV LLC. 全著作権所有。
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# この例では、メインカメラで撮影したフレームに深度マップを
# 重ね合わせる方法を示します。
import csi
import image
import time
import tof

csi0 = csi.CSI()
csi0.reset()  # センサーをリセットして初期化します。
csi0.pixformat(csi.RGB565)  # ピクセルフォーマットをRGB565(またはGRAYSCALE)に設定します
csi0.framesize(csi.VGA)  # フレームサイズをQVGA(320x240)に設定します
csi0.framerate(30)
csi0.window((400, 400))  # ウィンドウサイズを240x240に設定します

# ToFセンサーを初期化します
tof.init()

# FPSクロック
clock = time.clock()

while True:
    clock.tick()

    # 画像を撮影します
    img = csi0.snapshot()

    # TOFデータ(深度マップ、最小距離、最大距離)を取得します
    try:
        depth, dmin, dmax = tof.read_depth(vflip=True, hmirror=True)
    except RuntimeError:
        continue

    # 画像をスケーリングし、フレームバッファとブレンドします
    tof.draw_depth(
        img,
        depth,
        x_scale=img.width() / 8,
        y_scale=img.height() / 8,
        hint=image.BILINEAR,
        alpha=100,
        scale=(0, 4000),
        color_palette=image.PALETTE_DEPTH,
    )

    # 最小距離と最大距離を描画します。
    img.draw_string(
        (0, 0), f"Distance min: {int(dmin):4d}mm max: {int(dmax):4d}mm", color=(255, 0, 0), mono_space=False
    )

    # FPSを表示します。
    print(clock.fps())

results matching ""

    No results matching ""