Как использовать марширующие квадраты для нескольких контуров?

как заставить марширующие квадраты продолжаться после того, как он найдет первый контур?

контуры на изображении, над которыми я работаю, будут меняться довольно часто, и, поскольку я нахожусь во встроенной среде (android / ios), мне бы хотелось прежде всего быстрого решения проблемы производительности.
и использование внешней библиотеки не вариант.

я пробовал маркировку подключенных компонентов, но так и не получил ее, так как у меня есть PNG, который не является черно-белым (не имеет порогового значения), и, если я не ошибаюсь, CCL работает только на черно-белых (двоичных) изображениях.

Я думал о том, чтобы сохранить информацию о BLOB-объектах в другом векторе и проверить, попадают ли недавно обнаруженные пиксели в ранее найденные BLOB-объекты, но я не думаю, что это достаточно быстро, так как вектор заполняется все большим и большим количеством BLOB-объектов, его проверка становится все дороже каждый шарик внутри вектора.

что оставляет меня с моим почти законченным текущим подходом, который стирает контуры, которые я нахожу и повторяю, пока ничего не осталось? но это мой используемый сейчас подход, который тоже кажется дорогим.

и если нет быстрого решения, то кто-нибудь может предложить другой подход … даже если это означает другой алгоритм.

Mark1: я выбрал марширующие квадраты, потому что мне нужны только контуры контуров, даже если в теме есть дыры.

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …