Структурирование элементов

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

Существует два типа элементов структурирования: flat и nonflat. Плоский элемент структурирования является двоичным соседством, либо 2-D, либо многомерным, в котором истинные пиксели включены в морфологические расчеты, а ложные пиксели не имеют значения. Центральный пиксель элемента структурирования, называемый источником, идентифицирует пиксель в обрабатываемом изображении. Используйте strel функция для создания плоского элемента структурирования. Можно использовать плоские элементы структурирования с двоичными и полутоновыми изображениями. Следующий рисунок иллюстрирует плоский структурный элемент.

Нефлятный элемент структурирования является матрицей типа double который идентифицирует пиксель в обрабатываемом изображении и определяет окрестность, используемую при обработке этого пикселя. Нефлятный структурный элемент содержит конечные значения, используемые в качестве аддитивных смещений в морфологических расчетах. Центральный пиксель матрицы, называемый origin, идентифицирует пиксель в обрабатываемом изображении. Пиксели по соседству со значением -Inf не используются в расчетах. Используйте offsetstrel функция для создания неявнополюсного структурного элемента. Можно использовать нефлятельные элементы структурирования только с полутоновыми изображениями.

Определите источник элемента структурирования

Морфологические функции используют этот код, чтобы получить координаты источника элементов структурирования любого размера и размерности:

origin = floor((size(nhood)+1)/2)

где nhood - окрестность, определяющая элемент структурирования. Чтобы увидеть окрестность плоского элемента структурирования, просмотрите Neighborhood свойство strel объект. Чтобы увидеть окрестность неявнополюсного элемента структурирования, просмотрите Offset свойство offsetstrel объект.

Например, нижеследующее иллюстрирует источник плоского, ромбовидного структурного элемента.

Структурирование разложения элемента

Для повышения эффективности strel и offsetstrel функции могут разбивать элементы структурирования на меньшие части, метод, известный как разложение элементов структурирования.

Для примера расширение с помощью элемента структурирования 11 на 11 квадратов может быть осуществлено путем расширения сначала с помощью элемента структурирования 1 на 11, а затем с помощью элемента структурирования 11 на 1. Это приводит к теоретическому улучшению скорости коэффициента 5,5, хотя на практике фактическое улучшение скорости несколько меньше.

Декомпозиции элементов структурирования, используемые для 'disk' и 'ball' формы являются приближениями; все другие разложения точны. Разложение не используется с произвольным элементом структурирования, если только это не плоский элемент структурирования, матрица окрестностей которого все 1.

Чтобы увидеть последовательность элементов структурирования, используемых в разложении, используйте decompose способ. Оба strel объекты и offsetstrel объекты поддерживают методы разложения. The decompose метод возвращает массив элементов структурирования, которые образуют разложение. Например, вот элементы структурирования, созданные при разложении алмазообразного элемента структурирования.

SE = strel('diamond',4)
SE = 

strel is a diamond shaped structuring element with properties:

      Neighborhood: [9x9 logical]
    Dimensionality: 2

Вызовите метод разложения. Метод возвращает массив элементов структурирования.

decompose(SE)
ans = 

  3x1 strel array with properties:

    Neighborhood
    Dimensionality

См. также

|

Похожие темы