2011-12-15 2 views
1

можно найти дыры в подключенных компонентах, то есть в объектах на изображении. если да, можем ли мы также подсчитать отверстия? Например, я использовал cc = bwlabel (изображение); для маркировки подключенных компонентов. Теперь, как найти количество отверстий в каждом объекте?Как найти дыры в объектах в изображении Matlab?

ответ

0

Отверстие - это отсутствие ничего, поэтому вы можете просто инвертировать изображение, а затем подсчитывать подключенные компоненты.

+1

Нет, я имел в виду количество целостностей, присутствующих в конкретном объекте. –

+0

Вы имеете в виду количество подключенных компонентов на изображении? – Nzbuu

4

Вы можете использовать характеристику Эйлера. Из документации Matlab:

bweuler функция возвращает число Эйлера для бинарного изображения. Число Эйлера является мерой топологии изображения. Он определяется как общее количество объектов на изображении минус количество отверстий в этих объектах. Вы можете использовать либо 4- или 8-связанные районы.

Но имейте ввиду, что «дыра» в одном пикселе может изменить характеристику Эйлера. Вы можете использовать некоторые открытия/закрытия, чтобы сгладить контуры объектов перед использованием bweuler.