flood_fill.py
# Esta obra está licenciada bajo la licencia MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Todos los derechos reservados.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Relleno por inundación
#
# Este ejemplo muestra cómo rellenar áreas de la imagen mediante flood fill.
import csi
import time
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565) # o GRAYSCALE...
csi0.framesize(csi.QVGA) # o QQVGA...
csi0.snapshot(time=2000)
clock = time.clock()
while True:
clock.tick()
# seed_threshold controla la diferencia máxima permitida entre
# el píxel inicial y cualquier píxel rellenado. Es importante
# configurarlo de forma que el flood fill no rellene toda la imagen.
# floating_threshold controla la diferencia máxima permitida
# entre dos píxeles cualesquiera. Esto puede rellenar fácilmente toda la imagen
# incluso con un umbral muy bajo.
# flood_fill rellenará los píxeles que cumplan ambos umbrales.
# Puede invertir lo que se rellena con "invert" y borrar
# todo excepto el área rellenada con "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())