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