Измерьте свойства областей изображений
возвращает измерения для набора свойств для каждого связанного с 8 компонента (объект) в бинарном изображении, stats
= regionprops(BW
,properties
)BW
. Можно использовать regionprops
на непрерывных областях и несмежных областях (см. Больше О).
Примечание
Чтобы возвратить измерения 3-D объемного изображения, рассмотреть использование regionprops3
. В то время как regionprops
может принять 3-D изображения, regionprops3
вычисляет больше статистики для 3-D изображений, чем regionprops
.
Для всех синтаксисов, если вы не задаете properties
аргумент, затем regionprops
возвращает 'Area'
центроид
, и 'BoundingBox'
измерения.
измеряет набор свойств для каждого связанного компонента (объект) в stats
= regionprops(CC
,properties
)CC
, который является структурой, возвращенной bwconncomp
.
измеряется набор свойств для каждой помеченной области в метке отображают stats
= regionprops(L
,properties
)L
.
возвращает измерения для набора свойств, заданных stats
= regionprops(___,I
,properties
)properties
для каждой помеченной области в изображении I
. Первый вход к regionprops
(BW
cc
, или L
) идентифицирует области в I
.
Считайте бинарное изображение в рабочую область.
BW = imread('text.png');
Вычислите центроиды для связанных компонентов в изображении с помощью regionprops
. regionprops
функция возвращает центроиды в массиве структур.
s = regionprops(BW,'centroid');
Сохраните x-и y-координаты центроидов в матрицу 2D столбца.
centroids = cat(1,s.Centroid);
Отобразите бинарное изображение с центроидными наложенными местоположениями.
imshow(BW) hold on plot(centroids(:,1),centroids(:,2),'b*') hold off
Оцените центр и радиусы круговых объектов в изображении и используйте эту информацию, чтобы построить круги на изображении. В этом примере, regionprops
возвращает измеренные свойства области в таблице.
Считайте изображение в рабочую область.
a = imread('circlesBrightDark.png');
Превратите входное изображение в бинарное изображение.
bw = a < 100;
imshow(bw)
title('Image with Circles')
Вычислите свойства областей в изображении и возвратите данные в таблице.
stats = regionprops('table',bw,'Centroid',... 'MajorAxisLength','MinorAxisLength')
stats=4×3 table
Centroid MajorAxisLength MinorAxisLength
________________ _______________ _______________
256.5 256.5 834.46 834.46
300 120 81.759 81.759
330.47 369.83 111.78 110.36
450 240 101.72 101.72
Получите центры и радиусы кругов.
centers = stats.Centroid; diameters = mean([stats.MajorAxisLength stats.MinorAxisLength],2); radii = diameters/2;
Постройте круги.
hold on viscircles(centers,radii); hold off
BW
— Бинарное изображениеБинарное изображение в виде логического массива любой размерности.
Типы данных: логический
CC
— Связанные компонентыСвязанные компоненты в виде структуры, возвращенной bwconncomp
.
Типы данных: struct
L
— Пометьте изображениеПометьте изображение в виде одного из следующих.
Числовой массив любой размерности. Пиксели пометили 0
фон. Пиксели пометили 1
составьте один объект; пиксели пометили 2
составьте второй объект; и так далее. regionprops
обрабатывает пиксели с отрицательным знаком как фон и округляет в меньшую сторону входные пиксели, которые не являются целыми числами. Можно получить числовое изображение метки от маркировки функций такой как watershed
или labelmatrix
.
Категориальный массив. Каждая категория соответствует различной области.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| categorical
properties
— Тип измерения'basic'
(значение по умолчанию) | список, разделенный запятыми строковых скаляров или векторов символов | массив ячеек строковых скаляров или векторов символов | 'all'
Тип измерения в виде списка, разделенного запятыми строковых скаляров или векторов символов, массива ячеек строковых скаляров или векторов символов, или как 'all'
или 'basic'
.
Если вы задаете 'all'
, затем regionprops
вычисляет все измерения формы и, для полутоновых изображений, измерения пиксельного значения также.
Если вы задаете 'basic'
, затем regionprops
вычисляет только 'Area'
центроид
, и 'BoundingBox'
измерения.
Следующие таблицы приводят все свойства, которые обеспечивают измерения формы. Свойства, перечисленные в таблице Pixel Value Measurements, допустимы только, когда вы задаете полутоновое изображение.
Сформируйте измерения
PropertyName | Описание | Поддержка N-D | Поддержка графического процессора | Генерация кода | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
'Area' |
Фактическое количество пикселей в области, возвращенной как скаляр. (Это значение может отличаться немного от значения Чтобы найти эквивалент области 3-D объема, используйте | Да | Да | Да | ||||||||
'BoundingBox' | Положение и размер самого маленького поля, содержащего область, возвращенную как 1 на (2*Q) вектор. Первыми элементами Q являются координаты минимального угла поля. Вторыми элементами Q является размер поля по каждому измерению. Например, 2D ограничительная рамка со значением | Да | Да | Да | ||||||||
'Centroid' | Центр массы области, возвращенной как 1
| Да | Да | Да | ||||||||
'Circularity' | Округлость объектов, возвращенных как структура с полем Примечание
| 2D только | Нет | Да | ||||||||
'ConvexArea' | Количество пикселей в 'ConvexImage' , возвращенный как скаляр. | 2D только | Нет | Нет | ||||||||
'ConvexHull' | Самый маленький выпуклый многоугольник, который может содержать область, возвратился как p-by-2 матрица. Каждая строка матрицы содержит x-и y-координаты одной вершины многоугольника. | 2D только | Нет | Нет | ||||||||
'ConvexImage' | Отобразите, который задает выпуклую оболочку со всеми пикселями в заполненной оболочке (набор к on ), возвратился как бинарное изображение (logical ). Изображение является размером ограничительной рамки области. (Для пикселей, через которые контур оболочки проходит, regionprops использует ту же логику в качестве roipoly определить, является ли пиксель внутри или снаружи оболочки.) | 2D только | Нет | Нет | ||||||||
'Eccentricity' | Эксцентриситет эллипса, который имеет те же вторые моменты как область, возвратился как скаляр. Эксцентриситет является отношением расстояния между особым вниманием эллипса и его главной длины оси. Значение между 0 и 1. (0 и 1 вырожденные случаи. Эллипс, эксцентриситет которого 0, является на самом деле кругом, в то время как эллипс, эксцентриситет которого равняется 1, является линейным сегментом.) | 2D только | Да | Да | ||||||||
'EquivDiameter' | Диаметр круга с той же областью как область, возвращенная как скаляр. Вычисленный как sqrt(4*Area/pi) . | 2D только | Да | Да | ||||||||
'EulerNumber' | Количество объектов в области минус количество отверстий в тех объектах, возвращенных как скаляр. Это свойство поддерживается только для 2D матриц метки. regionprops использует с 8 возможностями соединения, чтобы вычислить Число Эйлера (также известный как Эйлеровую характеристику). Чтобы узнать больше о возможности соединения, смотрите Пиксельную Возможность соединения. | 2D только | Нет | Да | ||||||||
'Extent' | Отношение пикселей в области к пикселям в общей ограничительной рамке, возвращенной как скаляр. Вычисленный как Area разделенный на область ограничительной рамки. | 2D только | Да | Да | ||||||||
'Extrema' | Extrema указывает в области, возвращенной как 8 2 матрица. Каждая строка матрицы содержит x-и y-координаты одной из точек. Форматом вектора является
| 2D только | Да | Да | ||||||||
'FilledArea' | Количество on пиксели в FilledImage , возвращенный как скаляр. | Да | Нет | Да | ||||||||
'FilledImage' | Отобразите тот же размер как ограничительная рамка области, возвращенной как двоичный файл (
| Да | Нет | Да | ||||||||
'Image' | Отобразите тот же размер как ограничительная рамка области, возвращенной как двоичный файл (logical Массив. on пиксели соответствуют области, и всеми другими пикселями является off . | Да | Да | Да | ||||||||
'MajorAxisLength' | Длина (в пикселях) главной оси эллипса, который имеет те же нормированные вторые центральные моменты как область, возвратилась как скаляр. | 2D только | Да | Да | ||||||||
'MaxFeretProperties' | Свойства Feret, которые включают максимальный диаметр Feret, его относительный угол, и координируют значения, возвратились как структура с полями:
Вход может быть бинарным изображением, связанным компонентом или матрицей метки. | 2D только | Нет | Нет | ||||||||
'MinFeretProperties' | Свойства Feret, которые включают минимальный диаметр Feret, его относительный угол, и координируют значения, возвратились как структура с полями:
Вход может быть бинарным изображением, связанным компонентом или матрицей метки. | 2D только | Нет | Нет | ||||||||
'MinorAxisLength' | Длина (в пикселях) незначительной оси эллипса, который имеет те же нормированные вторые центральные моменты как область, возвратилась как скаляр. | 2D только | Да | Да | ||||||||
'Orientation' | Угол между осью X и главной осью эллипса, который имеет те же вторые моменты как область, возвратился как скаляр. Значение в градусах, в пределах от-90 градусов до 90 градусов. Этот рисунок иллюстрирует оси и ориентацию эллипса. Левая сторона фигуры показывает область изображений и ее соответствующий эллипс. Правая сторона показывает тот же эллипс с чисто синими линиями, представляющими оси. Красные точки являются особым вниманием. Ориентация является углом между горизонтальной пунктирной линией и главной осью.
| 2D только | Да | Да | ||||||||
'Perimeter' | Расстояние вокруг контура области, возвращенной как скаляр.
| 2D только | Нет | Да | ||||||||
'PixelIdxList' | Линейные индексы пикселей в области, возвращенной как p - вектор элемента. | Да | Да | Да | ||||||||
'PixelList' | Местоположения пикселей в области, возвращенной как p-by-Q матрица. Каждая строка матрицы имеет форму [x y z ...] и задает координаты одного пикселя в области. | Да | Да | Да | ||||||||
'Solidity' | Пропорция пикселей в выпуклой оболочке, которые находятся также в области, возвратилась как скаляр. Вычисленный как Area/ConvexArea . | 2D только | Нет | Нет | ||||||||
'SubarrayIdx' | Элементы L в объектной ограничительной рамке, возвращенной как массив ячеек, который содержит индексы, таким образом что L(idx{:}) извлекает элементы. | Да | Да | Нет |
Свойства измерения пиксельного значения в следующей таблице допустимы только, когда вы задаете полутоновое изображение, I
.
Измерения пиксельного значения
PropertyName | Описание | Поддержка N-D | Поддержка графического процессора | Генерация кода |
---|---|---|---|---|
'MaxIntensity' | Значение пикселя с самой большой интенсивностью в области, возвращенной как скаляр. | Да | Да | Да |
'MeanIntensity' | Среднее значение всех значений интенсивности в области, возвращенной как скаляр. | Да | Да | Да |
'MinIntensity' | Значение пикселя с самой низкой интенсивностью в области, возвращенной как скаляр. | Да | Да | Да |
'PixelValues' | Количество пикселей в области, возвращенной как p-by-1 вектор, где p является количеством пикселей в области. Каждый элемент в векторе содержит значение пикселя в области. | Да | Да | Да |
'WeightedCentroid' | Центр области на основе местоположения и значения интенсивности, возвращенного как p-by-Q вектор из координат. Первый элемент WeightedCentroid горизонтальная координата (или x-координата) взвешенного центроида. Вторым элементом является вертикальная координата (или y-координата). Все другие элементы WeightedCentroid в порядке размерности. | Да | Да | Да |
Типы данных: char |
string
| cell
I
— Отобразите, чтобы быть измереннымиoutput
— Возвратите тип'struct'
(значение по умолчанию) | 'table'
Возвратите тип в виде любого из следующих значений.
Значение | Описание |
---|---|
'struct' | Возвращает массив структур с длиной, равной количеству объектов в BW , или макс. ( . Поля массива структур обозначают различные свойства для каждой области, как задано properties . |
'table' | Возвращает a |
Типы данных: char |
string
stats
— Значения измеренияstruct
массив (значение по умолчанию) | таблицаЗначения измерения, возвращенные как массив структур или таблицы. Количество структур в массиве или количество строк в таблице равны количеству объектов в BW
, CC.NumObjects
, или max(L(:))
. Поля каждой структуры или переменных в каждой строке обозначают свойства, вычисленные для каждой области, как задано properties
. Если входное изображение является категориальным изображением метки L
, затем stats
включает дополнительное поле или переменную со свойством 'LabelName'
.
Непрерывные области также называются objects, connected components или blobs. Изображение метки L
содержание непрерывных областей может выглядеть так:
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, принадлежат второй области, которая является одним связанным компонентом. ismember
функция полезна для создания бинарного изображения, содержащего, только возражает или области, которые соответствуют определенным критериям. Например, эти команды создают бинарное изображение, содержащее только области, область которых больше 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);
Возможность соединения по умолчанию связана с 8 для 2D изображений и максимальной возможности соединения для более высоких размерностей. Чтобы задать возможность соединения не по умолчанию, использовать bwconncomp
создать связанные компоненты и затем передать результат regionprops
.
regionprops
использует в своих интересах промежуточные результаты при вычислении связанных измерений. Поэтому это является самым быстрым, чтобы вычислить все желаемые измерения в одном вызове regionprops
.
Большинство измерений занимает время, чтобы вычислить. Однако эти измерения могут занять больше времени, в зависимости от числа регионов в L
:
'ConvexHull'
'ConvexImage'
'ConvexArea'
'FilledImage'
Указания и ограничения по применению:
regionprops
поддерживает генерацию кода С (требует MATLAB® Coder™). Обратите внимание на то, что, если вы выбираете типовой MATLAB Host Computer
целевая платформа, regionprops
генерирует код, который пользуется предварительно скомпилированной, специфичной для платформы разделяемой библиотекой. Использование разделяемой библиотеки сохраняет оптимизацию эффективности, но ограничивает целевые платформы, для которых может быть сгенерирован код. Для получения дополнительной информации смотрите Типы Поддержки Генерации кода в Image Processing Toolbox.
Поддержки только бинарные изображения или числовые изображения метки. Введите изображения метки категориального типа данных, не поддерживаются.
Определение выходного типа 'table'
не поддерживается.
Передача массива ячеек свойств не поддерживается. Используйте список, разделенный запятыми вместо этого.
Все свойства поддерживаются кроме 'ConvexArea'
Выпуклая оболочка
, 'ConvexImage'
, 'MaxFeretProperties'
, 'MinFeretProperties'
, 'Solidity'
, и 'SubarrayIdx'
.
Указания и ограничения по применению:
GPU Coder™ генерирует оптимизированный CUDA® код только для бинарных изображений. Код, сгенерированный для входных изображений метки, не оптимизирован. Введите изображения метки категориального типа данных, не поддерживаются.
Определение выходного типа 'table'
не поддерживается.
Передача массива ячеек свойств не поддерживается. Используйте список, разделенный запятыми вместо этого.
Только 'Area'
boundingbox
центроид
, 'Eccentricity'
, 'EquivDiameter'
, 'Extent'
, 'MajorAxisLength'
, 'MinorAxisLength'
, 'Orientation'
, 'PixelIdxList'
'PixelList'
, 'MaxIntensity'
, 'MeanIntensity'
, 'MinIntensity'
, 'PixelValues'
, и 'WeightedCentroid'
свойства поддерживаются.
Указания и ограничения по применению:
gpuArray
введите должна быть 2D логическая матрица или 2D матрица метки.
Связанная структура компонента (CC
) введите не поддерживается.
Следующие свойства не поддерживаются: 'ConvexArea'
Выпуклая оболочка
, 'ConvexImage'
, 'Circularity'
, 'EulerNumber'
, 'FilledArea'
, 'FilledImage'
, 'MaxFeretProperties'
, 'MinFeretProperties'
, и 'Solidity'
.
'struct'
единственный поддерживаемый тип возврата.
Для получения дополнительной информации смотрите Обработку изображений на графическом процессоре.
bwconncomp
| bwpropfilt
| bwferet
| watershed
| labelmatrix
| regionprops3
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.