iris_detection.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 détection d'iris 2
#
# Cet exemple montre comment trouver le regard (détection de la pupille) après avoir trouvé
# les yeux dans une image. Ce script utilise la fonction find_eyes qui détermine
# le point central de la ROI censée contenir une pupille. Pour ce faire, il
# trouve simplement le centre de la zone la plus sombre dans la ROI de l'œil, qui correspond au centre de la pupille.
#
# Remarque : ce script ne détecte pas d'abord un visage, utilisez-le avec l'objectif téléobjectif.

import csi
import time
import image

csi0 = csi.CSI()
csi0.reset()
csi0.contrast(3)
csi0.gainceiling(16)
csi0.framesize(csi.VGA)
# Binning/recadrage de l'image en 200x100, ce qui donne plus de détails avec moins de données à traiter
csi0.window((220, 190, 200, 100))
csi0.pixformat(csi.GRAYSCALE)

# Charger la cascade de Haar
# Par défaut, toutes les étapes seront utilisées ; moins d'étapes est plus rapide mais moins précis.
eyes_cascade = image.HaarCascade("/rom/haarcascade_eye.cascade", stages=24)
print(eyes_cascade)

# Horloge FPS
clock = time.clock()

while True:
    clock.tick()
    # Capturer un instantané
    img = csi0.snapshot()
    # Trouver les yeux !
    # Remarque : un facteur d'échelle plus faible réduit davantage l'image et détecte des objets plus petits.
    # Un seuil plus élevé donne un taux de détection plus élevé, avec davantage de faux positifs.
    eyes = img.find_features(eyes_cascade, threshold=0.5, scale=1.5)

    # Trouver l'iris
    for e in eyes:
        iris = img.find_eye(roi=e)
        img.draw_rectangle(e)
        img.draw_cross(iris)

    # Afficher le FPS.
    # Remarque : le FPS réel est plus élevé, le streaming du tampon d'image le ralentit.
    print(clock.fps())

results matching ""

    No results matching ""