Измерьте свойства областей изображений
возвращает измерения для набора свойств, заданных stats = regionprops(BW,properties)properties для каждого связанного с 8 компонента (объект) в двухуровневом изображении, BWстатистика массив структур, содержащий struct для каждого объекта в изображении. Можно использовать regionprops на непрерывных областях и несмежных областях (см. Алгоритмы).
Чтобы возвратить измерения 3-D объемного изображения, рассмотрите использование regionprops3. В то время как regionprops может принять 3-D изображения, regionprops3 вычисляет больше статистики для 3-D изображений, чем regionprops.
Для всех синтаксисов, если вы не задаете properties аргумент, затем regionprops возвращает 'Area'центроид, и 'BoundingBox' измерения.
Опционально можно измериться, свойства областей изображений 'ConvexArea'Выпуклая оболочка, 'ConvexImage', 'Circularity', 'EulerNumber', 'FilledArea', 'FilledImage', 'MaxFeretProperties', 'MinFeretProperties' и 'Solidity' свойства не поддержаны на графическом процессоре.
измеряет набор свойств для каждого связанного компонента (объект) в stats = regionprops(CC,properties)CC, который является структурой, возвращенной bwconncomp.
Этот синтаксис не поддержан на графическом процессоре.
измеряет набор свойств для каждой помеченной области в матрице метки stats = regionprops(L,properties)L.
возвращает измерения для набора свойств, заданных stats = regionprops(___,I,properties)properties для каждой помеченной области в изображении I. Первый вход к regionprops (BWcc , или L) идентифицирует области в I.
Функциональный ismember полезно с regionprops, bwconncomp, и labelmatrix для создания двухуровневого изображения, содержащего только, возражает или области, которые соответствуют определенным критериям. Например, эти команды создают двухуровневое изображение, содержащее только области, область которых больше 80 и чей эксцентриситет меньше 0.8.
cc = bwconncomp(BW); stats = regionprops(cc, 'Area','Eccentricity'); idx = find([stats.Area] > 80 & [stats.Eccentricity] < 0.8); BW2 = ismember(labelmatrix(cc), idx);
Синтаксис списка, разделенного запятыми для массивов структур полезен, когда вы работаете с выходом regionprops. Для поля, которое содержит скаляр, можно использовать этот синтаксис, чтобы создать вектор, содержащий значение этого поля для каждой области в изображении. Например, если stats массив структур с полем Area, затем следующее выражение:
stats(1).Area, stats(2).Area, ..., stats(end).Area
эквивалентно:
stats.Area
Поэтому можно использовать эти вызовы, чтобы создать вектор, содержащий область каждой области в изображении. allArea вектор той же длины как массив структур stats.
stats = regionprops(L, 'Area'); allArea = [stats.Area];
Функции bwlabel, bwlabeln, и bwconncomp все вычисляют соединенные компоненты для двухуровневых изображений. bwconncomp заменяет использование bwlabel и bwlabeln. Это использует меньше памяти и иногда быстрее, чем другие функции.
| Функция | Введите размерность | 'OutputForm' | Использование памяти | Возможность соединения |
|---|---|---|---|---|
bwlabel | 2D | Матрица метки с с двойной точностью | Высоко | 4 или 8 |
bwlabeln | N-D | Матрица метки с двойной точностью | Высоко | Любой |
bwconncomp | N-D | CC struct () | Низко | Любой |
Выход bwlabel и bwlabeln матрица метки с двойной точностью. Чтобы вычислить матрицу метки использование более эффективного памятью типа данных, используйте labelmatrix функция на выходе bwconncomp:
CC = bwconncomp(BW); L = labelmatrix(CC);
Если вы измеряете компоненты в двухуровневом изображении с возможностью соединения по умолчанию, более не необходимо вызвать bwlabel или bwlabeln сначала. Можно передать двухуровневое изображение непосредственно regionprops, который затем использует эффективный памятью bwconncomp функция, чтобы вычислить связанные компоненты автоматически. Чтобы задать возможность соединения не по умолчанию, вызовите bwconncomp и передайте результат regionprops.
CC = bwconncomp(BW, CONN); S = regionprops(CC);
Большинство измерений занимает время, чтобы вычислить. Однако следующие измерения могут занять больше времени, в зависимости от количества областей в L:
'ConvexHull'
'ConvexImage'
'ConvexArea'
'FilledImage'
Вычислительные определенные группы измерений берут о том же количестве времени в качестве вычисляющий только одного из них. regionprops использует в своих интересах промежуточные расчеты, полезные для каждого расчета. Поэтому это является самым быстрым, чтобы вычислить все желаемые измерения в одном вызове regionprops.
Непрерывные области также называются objects, connected components или blobs. Матрица метки, содержащая непрерывные области, может выглядеть так:
1 1 0 2 2 0 3 3 1 1 0 2 2 0 3 3
L равняйтесь 1, принадлежат первой непрерывной области или соединенному компоненту; элементы L равняйтесь 2, принадлежат второму связанному компоненту; и так далее.Несмежные области являются областями, которые могут содержать несколько связанных компонентов. Матрица метки, содержащая несмежные области, может выглядеть так:
1 1 0 1 1 0 2 2 1 1 0 1 1 0 2 2
L равняйтесь 1, принадлежат первой области, которая является несмежной и содержит два связанных компонента. Элементы L равняйтесь 2, принадлежат второй области, которая является одним связанным компонентом. bwconncomp | bwferet | bwlabel | bwlabeln | bwpropfilt | ismember | labelmatrix | regionprops3 | watershed