on_disk_structural_similarity.py

# Questo lavoro è concesso in licenza MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Tutti i diritti riservati.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Esempio di Structural Similarity (SSIM)
#
# Nota: per eseguire questo esempio è necessaria una scheda SD.
#
# Questo esempio mostra come usare l'algoritmo SSIM sulla OpenMV Cam
# per rilevare differenze tra due immagini. L'algoritmo SSIM confronta
# blocchi di pixel 8x8 tra due immagini per determinare un punteggio
# di similarità tra due immagini.

import csi
import os
import time

# È probabile che l'immagine sia cambiata se sim.min è inferiore a questo valore.
MIN_TRIGGER_THRESHOLD = -0.4

csi0 = csi.CSI()
csi0.reset()  # Resetta e inizializza il sensore.
csi0.pixformat(csi.RGB565)  # oppure csi.RGB565
csi0.framesize(csi.QVGA)  # oppure csi.QQVGA (o altri)
csi0.snapshot(time=2000)  # Lasciare che le nuove impostazioni abbiano effetto.
csi0.auto_whitebal(False)  # Disattiva il bilanciamento del bianco.
clock = time.clock()  # Traccia gli FPS.

if "temp" not in os.listdir():
    os.mkdir("temp")  # Crea una directory temporanea

print("About to save background image...")
csi0.snapshot(time=2000)  # Dai all'utente il tempo di prepararsi.
csi0.snapshot().save("temp/bg.bmp")
print("Saved background image!")

while True:
    clock.tick()  # Traccia i millisecondi trascorsi tra le chiamate a snapshot().
    img = csi0.snapshot()  # Scatta una foto e restituisce l'immagine.
    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 ""