detectSURFFeatures

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

Описание

пример

points = detectSURFFeatures(I) возвращает SURFPoints объект, points, содержание информации о функциях SURF, обнаруженных в 2D полутоновом входе, отображает I. detectSURFFeatures функционируйте реализует алгоритм Ускоренных устойчивых функций (SURF), чтобы найти функции блоба.

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

Примеры

свернуть все

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

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

Отобразите местоположения интереса к изображению.

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

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

свернуть все

Введите изображение в виде M-by-N 2D шкала полутонов. Входное изображение должно быть действительным неразреженным значением.

Типы данных: 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....

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

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

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

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

свернуть все

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

Ссылки

[1] Отсек, H. A. Эс, Т. Тейтелэарс и Л. ван Гул. “SURF:Speeded Устойчивые Функции”. Компьютерное зрение и Распознавание изображений (CVIU).Vol. 110, № 3, стр 346–359, 2008.

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

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