on_disk_basic_frame_differencing.py

# Ce travail est publié sous licence MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Tous droits réservés.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Exemple de différenciation d'images de base
#
# Remarque : une carte SD est nécessaire pour exécuter cet exemple.
#
# Cet exemple illustre l'utilisation de la différenciation d'images avec votre OpenMV Cam. On l'appelle
# différenciation d'images de base car il n'y a pas de mise à jour de l'image d'arrière-plan.
# Ainsi, au fil du temps, l'image d'arrière-plan peut changer, ce qui peut poser des problèmes.

import csi
import os
import time

TRIGGER_THRESHOLD = 5

csi0 = csi.CSI()
csi0.reset()  # Réinitialiser et initialiser le capteur.
csi0.pixformat(csi.RGB565)  # ou csi.RGB565
csi0.framesize(csi.QVGA)  # ou csi.QQVGA (ou autres)
csi0.snapshot(time=2000)  # Laisser les nouveaux réglages prendre effet.
csi0.auto_whitebal(False)  # Désactiver la balance des blancs.
clock = time.clock()  # Suit le FPS.

if "temp" not in os.listdir():
    os.mkdir("temp")  # Créer un répertoire temporaire

print("About to save background image...")
csi0.snapshot(time=2000)  # Laisser à l'utilisateur le temps de se préparer.
csi0.snapshot().save("temp/bg.bmp")
print("Saved background image - Now frame differencing!")

while True:
    clock.tick()  # Suivre les millisecondes écoulées entre les snapshots().
    img = csi0.snapshot()  # Prendre une photo et renvoyer l'image.

    # Remplace l'image par l'image de différence "abs(NEW-OLD)".
    img.difference("temp/bg.bmp")

    hist = img.get_histogram()
    # Le code ci-dessous fonctionne en comparant la valeur du 99e centile (c.-à-d. la
    # valeur maximale non aberrante) à la valeur du 90e centile (c.-à-d. une valeur
    # non maximale). La différence entre les deux valeurs augmentera à mesure que l'image
    # de différence montre davantage de pixels ayant changé.
    diff = hist.get_percentile(0.99).l_value - hist.get_percentile(0.90).l_value
    triggered = diff > TRIGGER_THRESHOLD

    print(clock.fps(), triggered)  # Remarque : votre OpenMV Cam fonctionne environ deux fois moins vite lorsqu'elle est
    # connectée à votre ordinateur. Le nombre d'images par seconde (FPS) devrait augmenter une fois déconnectée.

results matching ""

    No results matching ""