strel

Морфологический элемент структурирования

Описание

Объект strel представляет плоский морфологический structuring element, который является основной частью морфологических операций расширения и эрозии.

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

Чтобы создать неплоский элемент структурирования, используйте offsetstrel.

Создание

Синтаксис

SE = strel(nhood)
SE = strel('arbitrary',nhood)
SE = strel('diamond',r)
SE = strel('disk',r,n)
SE = strel('octagon',r)
SE = strel('line',len,deg)
SE = strel('rectangle',[m n])
SE = strel('square',w)
SE = strel('cube',w)
SE = strel('cuboid',[m n p])
SE = strel('sphere',r)

Описание

SE = strel(nhood) создает плоский элемент структурирования с заданным окружением nhood.

Можно также использовать синтаксис SE = strel('arbitrary',nhood) создать плоский элемент структурирования с заданным окружением.

SE = strel('diamond',r) создает ромбовидный элемент структурирования, где r задает расстояние от источника элемента структурирования до точек ромба.

пример

SE = strel('disk',r,n) создает дискообразный элемент структурирования, где r задает радиус, и n указывает, что количество элементов структурирования строки раньше аппроксимировало дисковую форму. Морфологические операции с помощью дисковых приближений, запущенных намного быстрее, когда элемент структурирования использует приближения.

SE = strel('octagon',r) создает восьмиугольный элемент структурирования, где r задает расстояние от источника элемента структурирования до сторон восьмиугольника, как измерено вдоль горизонтальных и вертикальных осей. r должен быть неотрицательным кратным 3.

пример

SE = strel('line',len,deg) создает линейный элемент структурирования, который симметричен относительно центра окружения с аппроксимированной длиной len и угол deg.

SE = strel('rectangle',[m n]) создает прямоугольный элемент структурирования размера [m n].

пример

SE = strel('square',w) создает квадратный элемент структурирования, ширина которого является пикселями w.

SE = strel('cube',w) создает 3-D кубический элемент структурирования, ширина которого является пикселями w.

SE = strel('cuboid',[m n p]) создает 3-D кубовидный элемент структурирования размера [m n p].

пример

SE = strel('sphere',r) создает 3-D сферический элемент структурирования, радиус которого является пикселями r.

Совместимость

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

  • SE = strel('arbitrary',nhood,h)

  • SE = strel('ball',r,h,n)

Следующие синтаксисы все еще работают, но не рекомендуются для использования:

  • SE = strel('pair',offset)

  • SE = strel('periodicline',p,v)

Входные параметры

развернуть все

Окружение, заданное как числовой массив любой размерности. Все ненулевые пиксели nhood принадлежат окружению для морфологической операции. Центр (или источник) nhood является своим центральным элементом, данным floor((size(nhood) + 1)/2).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

Радиус элемента структурирования в x-y плоскость, заданная как положительное целое число.

  • Для дисковой формы r является расстоянием от источника до ребра диска.

  • Для ромбовидной формы r является расстоянием от источника элемента структурирования до точек ромба.

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

Типы данных: double

Количество периодических элементов структурирования строки раньше аппроксимировало форму, заданную как 0, 4, 6 или 8. Когда n больше, чем 0, дискообразный элемент структурирования аппроксимирован последовательностью элементов структурирования периодической строки n. Когда n является 0, strel не делает никакого приближения, и участники элемента структурирования включают все пиксели, центры которых не больше, чем r далеко от источника. Морфологические операции с помощью дисковых приближений, запущенных намного быстрее, когда элемент структурирования использует приближения (n> 0). Иногда необходимо для strel использовать два дополнительных элемента структурирования строки в приближении, в этом случае количеством анализируемых используемых элементов структурирования является n+2.

Значение nПоведение
n> 0strel использует последовательность n (или иногда n+2) периодические элементы структурирования, имеющие форму строки, чтобы аппроксимировать форму.
n = 0strel не использует приближения. Участники элемента структурирования включают все пиксели, центры которых не больше, чем r далеко от источника и соответствующих значений высоты определяется от формулы эллипсоида, заданного r и h.

Типы данных: double

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

Типы данных: double

Угол линейного элемента структурирования, в градусах, заданный в виде числа. Угол измеряется в направлении против часовой стрелки от горизонтальной оси.

Типы данных: double

Размер прямоугольного элемента структурирования, указанного как вектор с 2 элементами положительных целых чисел. Элемент структурирования имеет строки m и столбцы n.

Типы данных: double

Ширина квадратного или кубического элемента структурирования, указанного как положительное целое число.

Типы данных: double

Размер кубовидного элемента структурирования, указанного как вектор с 3 элементами положительных целых чисел. Элемент структурирования имеет строки m, столбцы n и плоскости p.

Типы данных: double

Свойства

развернуть все

Структурирование окружения элемента, заданного как логический массив.

Типы данных: логический

Размерности структурирования элемента, указанного как неотрицательный скаляр.

Типы данных: double

Функции объекта

imdilateРасширьте изображение
imerodeРазрушьте изображение
imcloseМорфологически близкое изображение
imopenМорфологически открытое изображение
imbothatФильтрация нижней шляпы
imtophatФильтрация цилиндра
bwhitmissДвоичный файл операция мисс хита
decomposeВозвратите последовательность анализируемых элементов структурирования
reflectОтразите элемент структурирования
translateПереведите элемент структурирования

Примеры

свернуть все

Создайте 11 11 квадратный элемент структурирования.

SE = strel('square', 11)
SE = 
strel is a square shaped structuring element with properties:

      Neighborhood: [11x11 logical]
    Dimensionality: 2

Создайте элемент структурирования, имеющий форму строки с длиной 10 под углом 45 градусов.

SE = strel('line', 10, 45)
SE = 
strel is a line shaped structuring element with properties:

      Neighborhood: [7x7 logical]
    Dimensionality: 2

Просмотрите элемент структурирования.

SE.Neighborhood
ans = 7x7 logical array

   0   0   0   0   0   0   1
   0   0   0   0   0   1   0
   0   0   0   0   1   0   0
   0   0   0   1   0   0   0
   0   0   1   0   0   0   0
   0   1   0   0   0   0   0
   1   0   0   0   0   0   0

Создайте дискообразный элемент структурирования с радиусом 15.

SE3 = strel('disk', 15)
SE3 = 
strel is a disk shaped structuring element with properties:

      Neighborhood: [29x29 logical]
    Dimensionality: 2

Отобразите дискообразный элемент структурирования.

figure
imshow(SE3.Neighborhood)

Создайте 3-D элемент структурирования, имеющий форму сферы с радиусом 15.

SE = strel('sphere', 15)
SE = 
strel is a sphere shaped structuring element with properties:

      Neighborhood: [31x31x31 logical]
    Dimensionality: 3

Отобразите элемент структурирования.

figure
isosurface(SE.Neighborhood)

Советы

  • Структурирование элементов, которые не используют приближения (n = 0) не подходит для вычисления granulometries.

Алгоритмы

Для всех форм кроме 'arbitrary' структурирующие элементы создаются с помощью семейства методов, известных коллективно как структурирование разложения элемента. Принцип - то, что расширение некоторыми большими элементами структурирования может быть вычислено быстрее расширением с последовательностью меньших элементов структурирования. Например, расширение 11 11 квадратным элементом структурирования может быть выполнено путем расширения сначала с элементом структурирования 1 на 11 и затем с 11 1 структурирующим элементом. Это приводит к теоретическому повышению производительности фактора 5,5, несмотря на то, что на практике фактическое повышение производительности несколько меньше. Структурирование разложений элемента, используемых для формы 'disk', является приближениями — все другие разложения точны.

Вопросы совместимости

развернуть все

Поведение изменяется в R2017b

Ссылки

[1] ван ден Бумгард, R, и Р. ван Бэлен, "Методы для Быстрых Морфологических Преобразований Изображений Используя Растровые Изображения", Компьютерное зрение, Графика и Обработка изображений: Графические Модели и Обработка изображений, Издание 54, Номер 3, стр 252–254, май 1992.

[2] Адамс, R., "Радиальное Разложение Дисков и Сфер", Компьютерное зрение, Графика и Обработка изображений: Графические Модели и Обработка изображений, Издание 55, Номер 5, стр 325–332, сентябрь 1993.

[3] Джонс, R. и П. Сойлл, "Периодические строки: Определение, каскады и приложение к granulometrie", Буквы Распознавания образов, Издание 17, стр 1057–1063, 1996.

Расширенные возможности

Представлено до R2006a