flood_fill.py

# Este trabalho está licenciado sob a licença MIT.
# Copyright (c) 2013-2023 OpenMV LLC. Todos os direitos reservados.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Preenchimento por Inundação (Flood Fill)
#
# Este exemplo mostra como preencher áreas na imagem por inundação (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 controla a diferença máxima permitida entre
    # o pixel inicial e quaisquer pixels preenchidos. É importante
    # definir isso de forma que o flood fill não preencha a imagem inteira.

    # floating_threshold controla a diferença máxima permitida
    # entre quaisquer dois pixels. Isso pode facilmente preencher a imagem inteira
    # mesmo com um limiar muito baixo.

    # flood_fill preencherá pixels que satisfaçam ambos os limiares.

    # Você pode inverter o que é preenchido com "invert" e limpar
    # tudo, exceto a área preenchida, com "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())

results matching ""

    No results matching ""