exponenta event banner

detectSURFFeatures

Обнаружение элементов SURF и возврат SURFPoints объект

Описание

пример

points = detectSURFFeatures(I) возвращает SURFPoints объект, points, содержание информации об особенностях ПРИБОЯ, обнаруженных в 2-х оттенках серого, ввело изображение I. detectSURFFeatures функция реализует алгоритм ускоренных надежных функций (SURF) для поиска функций больших двоичных объектов.

points = detectSURFFeatures(I,Name,Value) указывает параметры, использующие один или несколько аргументов «имя-значение» в дополнение к входным аргументам в предыдущем синтаксисе.

Примеры

свернуть все

Чтение изображения и обнаружение процентных баллов.

I = imread('cameraman.tif');
points = detectSURFFeatures(I);

Отображение интересующих местоположений в изображении.

imshow(I); hold on;
plot(points.selectStrongest(10));

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

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

свернуть все

Входное изображение, определенное как 2-е оттенки серого M на Н. Входное изображение должно быть действительным неразреженным значением.

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

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

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: detectSURFFeatures(I,'MetricThreshold',100)

Порог наиболее сильного элемента, указанный как пара, разделенная запятыми, состоящая из 'MetricThresholdи неотрицательный скаляр. Чтобы вернуть больше больших значений, уменьшите значение этого порога.

Число октав, указанное как разделенная запятыми пара, состоящая из 'NumOctaves'и целочисленный скаляр, больше или равен 1. Увеличьте это значение, чтобы обнаруживать большие блобы. Рекомендуемые значения находятся между 1 и 4.

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

ОктаваРазмеры фильтра
1 9 на 9, 15 на 15, 21 на 21, 27 на 27,...
2 15 на 15, 27 на 27, 39 на 39, 51 на 51,...
3 27 на 27, 51 на 51, 75 на 75, 99 на 99,...
4....

В более высоких октавах используются фильтры большего размера, а также данные изображения. Большее число октав приводит к нахождению больших размеров blobs. Установите NumOctaves соответствующим образом для размера изображения. Например, для изображения 50 на 50 необходимо установить NumOctaves параметр, меньший или равный 2. NumScaleLevels параметр управляет количеством фильтров, используемых на октаву. Для анализа данных в одной октаве требуется не менее трех уровней.

Число уровней масштаба на одну октаву для вычисления, указанное как разделенная запятыми пара, состоящая из 'NumScaleLevels'и целочисленный скаляр, больше или равен 3. Увеличьте это число, чтобы обнаруживать большее количество blobs с более мелкими приращениями масштаба. Рекомендуемые значения находятся между 3 и 6.

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

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

свернуть все

Элементы SURF, возвращенные как SURFPoints объект. Этот объект содержит информацию об элементах SURF, обнаруженных в изображении в градациях серого.

Ссылки

[1] Бэй, Х., А. Эсс, Т. Туйтелаарс и Л. Ван Гул. «SURF: повышение надежности функций». Компьютерное зрение и понимание изображений (CVIU) .Vol. 110, № 3, стр 346–359, 2008.

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

.
Представлен в R2011b