detectMSERFeatures

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

Описание

пример

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

Примечание

Для Simulink® поддержка с помощью этой функции, необходимо включить настройки конфигурации модели. Чтобы отобразить диалоговое окно, в Редакторе Simulink, выбирают вкладку Modeling и затем выбирают Model Settings > Model Properties. В диалоговом окне Configuration Parameters выберите Simulation Target> Advanced Parameters > Dynamic Memory allocation in MATLAB functions.

[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 contains an axes object. The axes object contains 238 objects of type image, line.

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

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

Figure contains an axes object. The axes object contains 475 objects of type image, line.

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

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

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

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

Figure contains an axes object. The axes object contains 176 objects of type image, line.

Измерьте эксцентриситет области 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)

Figure contains an axes object. The axes object contains 155 objects of type image, line.

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

свернуть все

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

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. 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 может быть объяснен путем размышления о профиле интенсивности изображения, представляющего серию блоков. Вообразите верхние части сброса блоков с землей и шланг включенными в одном из блоков. Когда вода заполняет в блок, она переполняется, и следующий блок запускает заполнение. Меньшие области водного соединения и становятся большими массами воды, и наконец целая область заполнена. Когда вода заполняется в блок, она проверяется по критерию стабильности 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