exponenta event banner

strel

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

Описание

A strel объект представляет собой плоский морфологический структурирующий элемент, являющийся неотъемлемой частью операций морфологического расширения и эрозии.

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

Для создания непластового структурного элемента используйте offsetstrel.

Создание

Описание

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 | logical

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

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

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

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

Типы данных: 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

Свойства

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

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

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

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

Типы данных: 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)

Figure contains an axes. The axes contains an object of type image.

Создайте 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)

Figure contains an axes. The axes contains an object of type patch.

Совет

  • Элементы структурирования, не использующие аппроксимации (n = 0) не подходят для вычисления гранулометрии.

Алгоритмы

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

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

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

В R2017b изменилось поведение

Ссылки

[1] ван ден Бумгард, R и Р. ван Бален, «Методы быстрых морфологических преобразований изображений с использованием растровых изображений», компьютерное видение, графика и обработка изображений: графические модели и обработка изображений, том 54, номер 3, стр. 252-254, май 1992.

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

[3] Джонс, Р. и П. Сойль, «Периодические строки: определение, каскады и применение к гранулометрию», Pattern Recognition Letters, Vol. 17, pp. 1057-1063, 1996.

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

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