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

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

Существует два типа структурирования элементов: flat и nonflat. Плоский элемент структурирования является оцененным окружением двоичного файла, или 2D или многомерным, в котором истинные пиксели включены в морфологическое вычисление, и ложные пиксели не. Центральный пиксель элемента структурирования, названного источником, идентифицирует пиксель в обрабатываемом изображении. Используйте функцию 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's.

Чтобы видеть последовательность структурирования элементов, используемых в разложении, используйте метод decompose. И объекты strel и поддержка объектов offsetstrel анализируют методы. Метод 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

Смотрите также

|

Похожие темы