on_disk_structural_similarity.py

# この作品はMITライセンスの下で提供されています。
# Copyright (c) 2013-2023 OpenMV LLC. 全著作権所有。
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# 構造的類似性 (SSIM) の例
#
# 注意: この例を実行するにはSDカードが必要です。
#
# この例は、OpenMV Cam で SSIM アルゴリズムを使用する方法を示します
# 2 つの画像間の差異を検出します。SSIM アルゴリズムは
# 2 つの画像間で 8x8 ピクセルのブロックを比較し、類似度
# スコアを算出します。

import csi
import os
import time

# sim.min がこれより低い場合、画像は変化した可能性が高いです。
MIN_TRIGGER_THRESHOLD = -0.4

csi0 = csi.CSI()
csi0.reset()  # センサーをリセットして初期化します。
csi0.pixformat(csi.RGB565)  # または csi.RGB565
csi0.framesize(csi.QVGA)  # または csi.QQVGA (またはその他)
csi0.snapshot(time=2000)  # 新しい設定を反映させます。
csi0.auto_whitebal(False)  # ホワイトバランスをオフにします。
clock = time.clock()  # FPSを計測します。

if "temp" not in os.listdir():
    os.mkdir("temp")  # 一時ディレクトリを作成します

print("About to save background image...")
csi0.snapshot(time=2000)  # ユーザーが準備するための時間を与えます。
csi0.snapshot().save("temp/bg.bmp")
print("Saved background image!")

while True:
    clock.tick()  # snapshot()呼び出し間の経過ミリ秒を計測します。
    img = csi0.snapshot()  # 画像を撮影して返します。
    sim = img.get_similarity("temp/bg.bmp")
    change = "- Change -" if sim.min < MIN_TRIGGER_THRESHOLD else "- No Change -"

    print(clock.fps(), change, sim)

results matching ""

    No results matching ""