detectMSERFeatures

Обнаружьте функции MSER и возвратите объект MSERRegions

Синтаксис

regions = detectMSERFeatures(I)
[regions,cc] = detectMSERFeatures(I)
[___] = detectMSERFeatures(I,Name,Value)

Описание

пример

regions = detectMSERFeatures(I) возвращает объект MSERRegions, regions, содержа информацию о функциях MSER, обнаруженных в 2D полутоновом входном изображении, I. Этот объект использует алгоритм Максимально стабильных экстремальных областей (MSER), чтобы найти области.

[regions,cc] = detectMSERFeatures(I)опционально возвращает области MSER в связанной структуре компонента.

[___] = detectMSERFeatures(I,Name,Value) дополнительные опции наборов заданы одним или несколькими аргументами пары Name,Value.

Примеры

свернуть все

Считайте изображение и обнаружьте области MSER.

I = imread('cameraman.tif');
regions = detectMSERFeatures(I);

Визуализируйте области MSER, которые описаны списками пикселей, сохраненными в возвращенном объекте 'областей'.

figure; imshow(I); hold on;
plot(regions,'showPixelList',true,'showEllipses',false);

Отобразите замещающие знаки, и центроиды помещаются в области. По умолчанию постройте замещающие знаки отображений и центроиды.

figure; imshow(I); 
hold on;
plot(regions);

Обнаружьте области MSER.

I = imread('coins.png');
[regions,mserCC] = detectMSERFeatures(I);

Покажите, что все обнаружили области MSER.

figure
imshow(I)
hold on
plot(regions,'showPixelList',true,'showEllipses',false)

Измерьте эксцентриситет области MSER, чтобы измерить зацикливание области.

stats = regionprops('table',mserCC,'Eccentricity');

Пороговые значения эксцентриситета, чтобы только сохранить круговые области. (Круговые области имеют низкий эксцентриситет.)

eccentricityIdx = stats.Eccentricity < 0.55;
circularRegions = regions(eccentricityIdx);

Покажите круговые области.

figure
imshow(I)
hold on
plot(circularRegions,'showPixelList',true,'showEllipses',false)

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

свернуть все

Введите изображение, заданное в шкале полутонов. Это должно быть действительно и неразреженно. Функция внутренне преобразовывает входные изображения в uint8, которые не являются uint8 перед поиском областей MSER.

Типы данных: uint8 | int16 | uint16 | single | double | logical

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'RegionAreaRange', [30 14000], задает размер области в пикселях.

Размер шага между пороговыми уровнями интенсивности, заданными как пара, разделенная запятой, состоящая из 'ThresholdDelta' и числового значения в области значений (0,100]. Это значение выражается как процент области значений типа входных данных, используемой в выборе экстремальных областей при тестировании на их устойчивость. Уменьшите это значение, чтобы возвратить больше областей. Типичные значения колеблются от 0,8 до 4.

Размер области в пикселях, заданных как пара, разделенная запятой, состоящая из 'RegionAreaRange' и двухэлементного вектора. Вектор, [minArea maxArea], позволяет выбору областей, содержащих пиксели быть между minArea и maxArea, включительно.

Максимальное изменение области между экстремальными областями в переменных порогах интенсивности, заданных как пара, разделенная запятой, состоящая из 'MaxAreaVariation' и значения положительной скалярной величины. Увеличение этого значения возвращает большее количество областей, но они могут быть менее стабильными. Стабильные области очень похожи в размере по переменным порогам интенсивности. Типичные значения колеблются от 0,1 до 1,0.

Прямоугольная видимая область, заданная как вектор. Вектор должен быть в формате [x y width height]. Когда вы задаете ROI, функция обнаруживает углы в области, расположенной в [x y] размера, заданного [width height]. [x y] элементы задают левый верхний угол области.

Выходные аргументы

свернуть все

Объект областей MSER, возвращенный как объект MSERRegions. Объект содержит информацию о функциях MSER, обнаруженных в полутоновом входном изображении.

Связанная структура компонента, возвращенная как структура с четырьмя полями. Связанная структура компонента полезна для измерения свойств области с помощью функции regionprops. Эти четыре поля:

Поле Описание
Connectivity

Возможность соединения областей MSER.

Значение по умолчанию: 8

ImageSize

Размер I.

NumObjects

Количество областей MSER в I.

PixelIdxList

1 NumObjects массивом ячеек, содержащим векторы NumObjects. Каждый вектор представляет линейные индексы пикселей в соответствующей области элемента MSER.

Алгоритмы

свернуть все

Пороговые уровни интенсивности

Детектор MSER инкрементно продвигается через область значений интенсивности входного изображения, чтобы обнаружить стабильные области. Параметр ThresholdDelta определяет количество шага тесты детектора для устойчивости. Можно думать о пороговом значении дельты как о размере чашки, чтобы заполнить блок с водой. Чем меньший чашка, тем больше количества шага требуется, чтобы заполнить блок. Блок может считаться профилем интенсивности области.

Объект MSER проверяет изменение размера области области между различными порогами интенсивности. Изменение должно быть меньше, чем значение параметра MaxAreaVariation, который будет рассмотрен стабильным.

На высоком уровне MSER может быть объяснен путем размышления о профиле интенсивности изображения, представляющего серию блоков. Вообразите верхние части сброса блоков с землей и шланг включенными в одном из блоков. Когда вода заполняет в блок, она переполняется, и следующий блок запускает заполнение. Меньшие области водного соединения и становятся большими массами воды, и наконец целая область заполнена. Когда вода заполняется в блок, она проверяется по критерию стабильности MSER. Области появляются, выращивают и объединяют в различных порогах интенсивности.

Ссылки

[1] Nister, D. и Х. Стьюениус, "Линейное Время Максимально Стабильные Экстремальные области", Примечания Лекции в Информатике. 10-я европейская Конференция по Компьютерному зрению, Марселю, Франция: 2008, № 5303, стр 183–196.

[2] Матас, J. O. Приятель, М. Арба, и Т. Пэдждла. "Устойчивый широкий базовый стерео из максимально стабильных экстремальных областей". Продолжения британской Конференции по Машинному зрению, страниц 384-396, 2002.

[3] Обдрзэлек Д., С. Бэзовник, Л. Мах и А. Микулик. "Обнаруживая Элементы Сцены Используя Максимально Стабильные Цветные области", Коммуникации в Информатике и вычислительной технике, Ля-Ферт-Бернаре, Франция; 2009, CCIS издания 82 (2010 12 01), стр 107–115.

[4] Mikolajczyk, K., Т. Тейтелэарс, К. Шмид, А. Зиссермен, Т. Кэдир и Л. ван Гул, "Сравнение Аффинных Детекторов области"; Международный журнал Компьютерного зрения, Объем 65, Числа 1-2 / ноябрь 2005, стр 43–72.

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

Представленный в R2012a