detectMSERFeatures

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

Описание

пример

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

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

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

Примеры

свернуть все

Чтение изображения и обнаружение областей MSER.

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

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

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

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

Отобразить эллипсы и центроиды вписываются в области. По умолчанию на графике отображаются эллипсы и центроиды.

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

Figure contains an axes. The axes 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. The axes 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. The axes contains 155 objects of type image, line.

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

свернуть все

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

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

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

Задайте необязательные разделенные разделенными запятой парами 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.

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

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

свернуть все

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

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

ОбластьОписание
Connectivity

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

По умолчанию: 8

ImageSize

Размер I.

NumObjects

Количество регионов MSER в I.

PixelIdxList

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

Алгоритмы

свернуть все

Уровни Порога интенсивности

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

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

Примечание

Обнаружение функций MSER не подходит для использования в изображениях с экстремальными изменениями значений интенсивности.

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

Ссылки

[1] Nister, D., and H. Stewenius, «Linear Time Maximally Stable Extremal Regions», Lecture Notes in Computer Science. 10-я Европейская конференция по компьютерному зрению, Марсель, Франция: 2008, № 5303, стр. 183-196.

[2] Matas, J., O. Chum, M. Urba, and T. Pajdla. «Устойчивый широкий базовый стерео из максимально стабильных экстремальных областей». Материалы British Machine Vision Conference, страницы 384-396, 2002.

[3] Обдрзалек Д., С. Басовник, Л. Мач, А. Микулик. «Обнаружение элементов сцены с использованием максимально стабильных цветовых областей», Communications in Computer and Information Science, La Ferte-Bernard, France; 2009, том 82 СНГ (2010 12 01), стр. 107-115.

[4] Mikolajczyk, K., T. Tuytelaars, C. Schmid, A. Zisserman, T. Kadir, and L. Van Gool, «A Comparison of Affine Region Detectors»; International Journal of Компьютерного зрения, Volume 65, Numbers 1-2/November, 2005, pp 43-72.

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

.
Введенный в R2012a