flood_fill.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
#
# Remplissage par diffusion (Flood Fill)
#
# Cet exemple montre comment remplir des zones de l'image par diffusion (flood fill).
import csi
import time
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565) # ou GRAYSCALE...
csi0.framesize(csi.QVGA) # ou QQVGA...
csi0.snapshot(time=2000)
clock = time.clock()
while True:
clock.tick()
# seed_threshold contrôle la différence maximale autorisée entre
# le pixel initial et tout pixel rempli. Il est important de
# régler cette valeur de façon à ce que le remplissage par diffusion ne remplisse pas toute l'image.
# floating_threshold contrôle la différence maximale autorisée
# entre deux pixels quelconques. Ceci peut facilement remplir toute l'image
# même avec un seuil très bas.
# flood_fill remplira les pixels qui respectent les deux seuils.
# Vous pouvez inverser ce qui est rempli avec "invert" et effacer
# tout sauf la zone remplie avec "clear_background".
img = csi0.snapshot().flood_fill(
(csi0.width() // 2, csi0.height() // 2),
seed_threshold=0.05,
floating_threshold=0.05,
color=(255, 0, 0),
invert=False,
clear_background=False,
)
print(clock.fps())