Расчет площади в opencv/javacv?

Кто-нибудь может объяснить, как определить область, которая должна быть красного и синего цветов на следующем изображении? Я пытался использовать метод cvFindContours(), но он не дал ожидаемого результата для меня.

Входное изображение

Ожидаемый результат

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

1 ответ

Функция floodFill также может возвращать область в качестве возвращаемого значения. Итак, вы можете сделать растровое сканирование каждого пикселя: каждый раз, когда вы достигаете нетронутого пикселя, окрашиваете его в какой-то цвет (черный) и сохраняете область этой области вместе с координатами пикселя, продолжайте, пока все изображение не будет покрыто,

В конце у вас будет набор областей с кординатами для одного пикселя в каждой области.

Если вам нужно восстановить конкретный регион, вы можете снова использовать floodFill, закрасив этот регион определенным цветом.

Другие вопросы по тегам