in_memory_basic_frame_differencing.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 base di differenza tra fotogrammi in memoria
#
# Questo esempio dimostra l'uso della differenza tra fotogrammi con la OpenMV Cam. Viene
# chiamata differenza base tra fotogrammi perché non c'è aggiornamento dell'immagine di sfondo.
# Quindi, con il passare del tempo l'immagine di sfondo può cambiare, causando problemi.

import csi
import image
import time

TRIGGER_THRESHOLD = 5

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.

# Crea un secondo frame buffer nell'heap.
extra_fb = image.Image(csi0.width(), csi0.height(), csi0.pixformat())

print("About to save background image...")
csi0.snapshot(time=2000)  # Dai all'utente il tempo di prepararsi.
extra_fb.draw_image(csi0.snapshot())
print("Saved background image - Now frame differencing!")

while True:
    clock.tick()  # Traccia i millisecondi trascorsi tra le chiamate a snapshot().
    img = csi0.snapshot()  # Scatta una foto e restituisce l'immagine.

    # Sostituisce l'immagine con la differenza tra fotogrammi "abs(NEW-OLD)".
    img.difference(extra_fb)

    hist = img.get_histogram()
    # Il codice seguente funziona confrontando il valore del 99° percentile (ad es. il
    # valore massimo non outlier) con il valore del 90° percentile (ad es. un valore
    # non massimo). La differenza tra i due valori aumenterà man mano che la differenza
    # dell'immagine mostra un numero maggiore di pixel cambiati.
    diff = hist.get_percentile(0.99).l_value - hist.get_percentile(0.90).l_value
    triggered = diff > TRIGGER_THRESHOLD

    print(clock.fps(), triggered)  # Nota: la tua OpenMV Cam funziona a circa metà velocità quando
    # è collegata al computer. Il framerate dovrebbe aumentare una volta scollegata.

results matching ""

    No results matching ""