median_filter.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 filtre médian
#
# Cet exemple montre le filtrage médian. Le filtrage médian remplace chaque pixel
# par la valeur médiane de son voisinage NxN. Le filtrage médian est efficace pour
# supprimer le bruit dans l'image tout en préservant les bords.
import csi
import time
csi0 = csi.CSI()
csi0.reset() # Initialiser le capteur de la caméra.
csi0.pixformat(csi.RGB565) # ou csi.GRAYSCALE
csi0.framesize(csi.QQVGA) # ou csi.QVGA (ou autres)
csi0.snapshot(time=2000) # Laisser les nouveaux réglages prendre effet.
clock = time.clock() # Suit le FPS.
while True:
clock.tick() # Suivre les millisecondes écoulées entre les snapshots().
img = csi0.snapshot() # Prendre une photo et renvoyer l'image.
# Le premier argument du filtre médian est la taille du noyau, elle peut être
# 0, 1 ou 2 pour un noyau de 1x1, 3x3 ou 5x5 respectivement. Le second
# argument "percentile" est le percentile à choisir dans le voisinage
# NxN. 0.5 correspond à la médiane, 0.25 au quartile inférieur, et 0.75
# correspondrait au quartile supérieur.
img.median(1, percentile=0.5)
print(clock.fps()) # 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.