Основная часть морфологических операций расширения и эрозии является элементом структурирования, используемым, чтобы зондировать входное изображение. Элемент структурирования является матрицей, которая идентифицирует пиксель в обрабатываемом изображении и задает окружение, используемое в обработке каждого пикселя. Вы обычно выбираете элемент структурирования тот же размер и форма как объекты, которые вы хотите обработать во входном изображении. Например, чтобы найти строки в изображении, создайте линейный элемент структурирования.
Существует два типа структурирования элементов: 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