flood_fill.py
# Эта работа лицензирована по лицензии MIT.
# Copyright (c) 2013-2023 OpenMV LLC. All rights reserved.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Заливка (Flood Fill)
#
# Этот пример показывает заливку областей изображения.
import csi
import time
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565) # или GRAYSCALE...
csi0.framesize(csi.QVGA) # или QQVGA...
csi0.snapshot(time=2000)
clock = time.clock()
while True:
clock.tick()
# seed_threshold задаёт максимально допустимую разницу между
# исходным пикселем и любым закрашенным пикселем. Важно
# настроить это значение так, чтобы заливка не закрасила всё изображение.
# floating_threshold задаёт максимально допустимую разницу
# между любыми двумя пикселями. Это может легко привести к закрашиванию всего изображения
# даже при очень низком пороге.
# flood_fill закрасит пиксели, удовлетворяющие обоим порогам.
# Вы можете инвертировать то, что закрашивается, с помощью "invert", и очистить
# всё, кроме закрашенной области, с помощью "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())