Перейти к содержимому
Compvision.ru
Alex_grem

выделение FloodFill`ом

Recommended Posts

можно ли выделить область, "закрашенную" FloodFill`ом?

Думаю нужно отфильтровать пиксели с нужным (уникальным для картинки) значением при помощи функции :

http://www.compvision.ru/index.php/%D0%90%...0%B8%D0%B5#CmpS

для каждой плоскости изображения (покомпонентно).

Результат объединить по "И" при помощи:

http://www.compvision.ru/index.php/%D0%90%...D0%B8%D0%B5#And

А потом обычным поиском контура.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Думаю нужно отфильтровать пиксели с нужным (уникальным для картинки) значением при помощи функции :

http://www.compvision.ru/index.php/%D0%90%...0%B8%D0%B5#CmpS

для каждой плоскости изображения (покомпонентно).

Результат объединить по "И" при помощи:

http://www.compvision.ru/index.php/%D0%90%...D0%B8%D0%B5#And

А потом обычным поиском контура.

"для каждой плоскости изображения (покомпонентно)" имеется ввиду для каждого цвета?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
"для каждой плоскости изображения (покомпонентно)" имеется ввиду для каждого цвета?

Имеются ввиду каналы изображения (см. http://www.compvision.ru/index.php/%D0%A2%...A%D0%B8#Split): красный, синий и зеленый, или другие, если цветовое пространство не RGB.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мне кажется проще будет задать mask в floodfill и уже к ней применять findContours

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Мне кажется проще будет задать mask в floodfill и уже к ней применять findContours

Так маска будет содержать выделенную область?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, будет. Кроме того использование маски позволит избежать пересечений областей:

mask – Operation mask, should be a single-channel 8-bit image, 2 pixels wider and 2 pixels taller than image. If not NULL, the function uses and updates the mask, so the user takes responsibility of initializing the mask content. Floodfilling can’t go across non-zero pixels in the mask, for example, an edge detector output can be used as a mask to stop filling at edges. It is possible to use the same mask in multiple calls to the function to make sure the filled area do not overlap. Note: because the mask is larger than the filled image, a pixel in mask that corresponds to pixel in image will have coordinates x+1,y+1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×