MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes

Обработка сигналов и изображений\image Processing Toolbox

Список функций Image Processing Toolbox: Поиск объектов и вычисление их признаков

  В оглавление \ К следующему разделу \ К предыдущему разделу

IMFEATURE

Вычисление признаков объектов

Синтаксис:

feats=imfeature(L, measurements, n)

Описание:

Функция feats=imfeature(L, measurements, n) вычисляет признаки всех объектов, отмеченных в матрице номеров объектов L. Элементы матрицы L, имеющие значение 1, относятся к первому объекту, имеющие значение 2 относятся ко второму объекту и т.д. Если элемент в матрице L равен 0, то он относится к фону.

Значения признаков возвращаются в массиве структур feats. Количество элементов массива feats равно максимальному элементу матрицы L(mах(L(:))) и, следовательно, количеству объектов на изображении. Каждая структура содержит признаки для одного объекта. Какие именно признаки входят в структуру feats, определяется параметром measurements. Если в качестве параметра measurements указать строку "all", то будут вычислены все перечисленные ниже признаки. Если параметр measurements опущен или является строкой "‘basic", то вычисляются признаки "Area", "Centroid" и "BoundingBox". Вместо параметра measurements можно через запятую перечислить те признаки, которые необходимо вычислить. Имена полей структур из массива feats совпадают с именами вычисляемых признаков.

Вычисляемые признаки можно условно разбить на 5 групп: различные типы изображений объекта, габариты объекта, различные варианты определения площади объекта, коэффициенты формы и все оставшиеся признаки. Рассмотрим отдельно каждую группу.

Изображения объектов чаще всего необходимы для дальнейшей обработки или используются для визуализации объектов.

Параметр measurements Описание Тип данных
"Image" Изображение объекта Бинарное изображение, использующее формат представления данных uint8
"Filledlmage" Изображение объекта с "залитыми" дырами Бинарное изображение, использующее формат представления данных uint8
"Convexlmage" Изображение "залитого" пикселями объекта выпуклого многоугольника, в который вписан объект Бинарное изображение, использующее формат представления данных uint8

Проиллюстрируем разницу между различными типами изображений объекта. На рис. 1а показано исходное изображение, на рис. 1б - изображение, возвращаемое в поле Image, на рис. 1в - изображение, возвращаемое в поле Filledlmage, на рис. 1г - изображение, возвращаемое в поле Convexlmage.

image173.gif (7243 bytes)
а)


б)


в)


г)

Рис. 1.

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

Параметр measurements Описание Тип данных
‘BoundingBox’ Ограничивающий прямоугольник Массив [х у width height], где (х, у) - координаты левого верхнего угла прямоугольника, width - ширина, height - высота прямоугольника
'ConvexHull' Выпуклый многоугольник, в который вписан объект Матрица Мх2, каждая строка матрицы содержит (х, у) координаты вершин многоугольника
'Extrema' Экстремальные координаты объекта Матрица 8x2 [top-left top-right right-top right-bottom bottom-right bottom-left left-bottom left-top] содержит экстремальные координаты объекта
'PixelList' Список всех пикселей объекта Nx2 матрица, каждая строка содержит (х, у) координаты центров всех пикселей объекта

У всех перечисленных признаков координаты указываются в пространственной системе координат. На рис. 2 показаны ограничивающий прямоугольник и экстремальные координаты объекта.

p3.gif (11073 bytes)

Рис. 2.

Рассматриваемые ниже признаки используются, как правило, для статистического оценивания формы или величины объектов на изображении или классификации объектов. Иногда их называют морфометрическими признаками.

Площадь является одним из основных морфометрических признаков. Она широко используется для описания объектов и вычисления коэффициентов формы. Различные варианты вычисления площади объекта связаны с рассмотренными типами представления изображения объекта:

Параметр measurements Описание Тип данных
"Area" Площадь: количество пикселей объекта Число
"FilledArea" Полная площадь: количество пикселей объекта плюс количество дыр в объекте. Число
"ConvexArea" Выпуклая площадь: площадь выпуклого многоугольника, в который вписан объект. Соответствует площади изображения ConvexImage. Число

К основным морфометрическим признакам также относятся следующие признаки:

Параметр measurements Описание Тип данных
"Centroid" Центр масс объекта Двухэлементный массив, [x y] - координаты центра масс в пространственной системе координат
"EquivDiameter" Эквивалентный диаметр: диаметр круга с площадью Area, равен sqrt(4*Area/pi) Число
"Major Axis-Length" Длина максимальной оси инерции Число
"Minor Axis-Length" Длина минимальной оси инерции Число
"Orientation" Ориентация: угол в градусах между максимальной осью инерции и осью X Число
"EulerNumber" Число Эйлера: количество объектов с одинаковым индексом в матрице L минус количество дыр в этих объектах Число

Коэффициенты формы необходимы для того, чтобы математически описать форму объекта. Можно предложить достаточно много способов определения коэффициента формы, каждый из которых предназначен для решения определенного круга задач. Функция imfeature может вычислить 3 типа коэффициентов формы:

Параметр measurements Описание Тип данных
"Solidity" Коэффициент выпуклости: равен отношению площади к выпуклой площади объекта Число в диапазоне (0, 1]
"Extent" Коэффициент заполнения: равен отношению площади объекта к площади ограничивающего прямоугольника Число в диапазоне (0, 1]
"Eccentricity" Эксцентриситет эллипса с главными моментами инерции, равными главным моментам инерции объекта Число в диапазоне [0, 1]

Рассмотрим разницу между различными коэффициентами формы. На рис. 3, a-е приведены изображения объектов различной формы, а в таблице ниже - коэффициенты, соответствующие объектам с этих изображений.


а)


б)


в)


г)


д)


е)

Рис. 3.

Изображение Solidity Extent Eccentricity
а) Круг 0.9781 0.7822 0
б) Эллипс 0.9665 0.6602 0.8769
в) Квадрат 0.9669 0.6905 0.0501
г) Прямоугольник с отношением сторон 1:3 0.9495 0.4861 0.9454
д) Прямоугольник с отношением сторон 1:12 0.8816 0.2071 0.9971
е) S-образный объект 0.4595 0.4208 0.8728

При вычислении некоторых признаков, например, числа Эйлера, используется критерий связности. Он передается в параметре n и может принимать значения 4 или 8 (значение по умолчанию).

Алгоритм:

При вычислении ряда морфометрических признаков используются понятия механики твердого тела. В частности, это относится к длинам осей инерции объекта. Направления в теле, совпадающие с полуосями эллипсоида инерции, называют главными осями инерции. Для нахождения главных осей инерции, лежащих в плоскости объекта, в функции imfeature используются следующие соотношения [1, 2, 3].

Пусть N - количество пикселей, относящихся к объекту. Все множество пикселей р(х, у), относящихся к объекту, обозначим Q. Тогда координаты центра масс объекта вычисляются как

,

Вычислим несколько вспомогательных величин:

;

;

.

Тогда длины максимальной и минимальной осей инерции вычисляются как:

;

.

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

Эксцентриситет определяется с помощью соотношения

.

Ориентация определяется как угол в градусах между максимальной осью инерции и осью X. Если , то ориентация О вычисляется с помощью формулы

,

в противном случае О вычисляется как

.

Пример:

Построим гистограмму площадей объектов изображения. Предположим, что нас интересуют только объекты округлой формы, не касающиеся границы изображения. Пусть в результате бинаризации и морфологических операций сформировано бинарное изображение BW1, показанное на рис. 4а.

На этом изображении выделяются объекты. Вычисляются их площади и координаты центров масс. Затем исключаются из рассмотрения объекты, имеющие маленькую площадь или расположенные около границ изображения. Результат этих операций показан на рис. 4б. После этого операция поиска объектов повторяется, при этом формируется матрица L, которая отображается на экране как палитровое изображение, на котором каждый объект окрашен уникальным цветом (рис. 4в). В заключение вычисляются площади объектов и строится гистограмма площадей (рис. 4г).

% Пример демонстрирует построение гистограммы площадей объектов, не касающихся границ изображения.
% Чтение исходного изображения и вывод его на экран.
BW1=imread(split_bw.tif);
imshow(BWI);
% Поиск объектов.
[L num]=bwlabel(BW1, 8);
% Вычисление признаков объектов:
% площадей и координат центров масс.
feats=imfeature(L, ‘Area, ‘Centroid’, 8);
% Переписывание значений признаков
% из массива структур feats в отдельные массивы.
Areas=zeros(num);
CentX=zeros(num);
CentY=zeros(num);
for i=1:1:num
Areas(i)=feats(l).Area;
CentX(i)=feats(i).Centroid(1);
CentY(i)=feats(i).Centroid(2);
end;
% Формирование бинарного изображения с объектами,
% площадь которых более 30 пикселов, а центр масс объекта удален
% от границ изображения более чем на 20 пикселов.
[rows cols]=size(BW1);
idx=find(Areas>30&CentX>20&CentY>20...
&CentX<(cols-20)&CentY<(rows-20));
BW1=ismember(Lidx);
figure, imshow(BW1);
% Снова поиск объектов.
[L num]=bwlabel(BW1, 8);
figure, imshow(L+1, jet(num+1));
% Вычисление площадей объектов.
feats=imfeature(L, 'Area', 8);
% Построение гистограммы площадей объектов.
figure, hist([feats, Area]);


а)


б)


в)


г)

Рис. 4.

Сопутствующие функции: BWLABEL, BWAREA, BWEULER, ROIPOLY.

Ссылки:

  1. Прэтт У. Цифровая обработка изображений: В 2 т. М.: Мир, 1982.
  2. Писаревский А. Н., и др. Системы технического зрения: (Принципиальные основы, аппаратное и математическое обеспечение). Л.: Машиностроение, 1988.
  3. Haralick R.M., Shapiro L.G. Computer and Robot Vision // V. I. Addison-Wesley, 1992.

  В оглавление \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика