SURFPoints

Объект для хранения SURF интересует точки

Описание

Этот объект обеспечивает способность передать данные между detectSURFFeatures и extractFeatures функции. Это может также использоваться, чтобы управлять и отобразить на графике данные, возвращенные этими функциями. Можно использовать объект заполнить точки в интерактивном режиме. Можно использовать этот подход в ситуациях, где вы можете хотеть смешать детектор точки интереса не-surf с дескриптором SURF.

Создание

Описание

пример

points = SURFPoints(location) создает SURFPoints объект от M-by-2 массив [x y] указывает координаты.

points = SURFPoints(location,Name,Value) свойства наборов с помощью одной или нескольких пар "имя-значение". Заключите каждое имя свойства в кавычки. Например, points = SURFPoints('Metric',0.0)

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

развернуть все

Укажите координаты в виде M-by-2 массив формы [x y] координаты. M обозначает число точек.

Свойства

развернуть все

Число точек сохранено объектом в виде числового значения.

Укажите местоположения в виде M-by-2 массив [x y] координаты точки.

Масштабируйтесь, в котором функция обнаруживается в виде значения, больше, чем или равная 1.6.

Сила обнаруженного признака в виде числового значения.

Ориентация обнаруженного признака в виде угла, в радианах. Угол измеряется против часовой стрелки от Оси X с источником, заданным Location свойство. Не устанавливайте это свойство вручную. Положитесь вместо этого, на вызове extractFeatures заполнить это значение. extractFeatures функция изменяет значение по умолчанию 0.0.The Orientation в основном полезно для целей визуализации.

Знак Лапласиана определяется во время процесса обнаружения в виде -1, 0, или 1. Можно использовать этот параметр, чтобы ускорить процесс соответствия функции.

Блобы с идентичными метрическими значениями, но различными знаками Лапласиана могут отличаться их значениями интенсивности. Например, белый блоб на blackground по сравнению с черным блобом на белом фоне. Можно использовать этот параметр, чтобы быстро устранить блобы, которые не соответствуют.

Для детекторов не-surf это свойство не релевантно. Например, для угловых функций, можно просто использовать значение по умолчанию 0.

Функции объекта

plotПостройте точки
isemptyОпределите, пуст ли объект точек
lengthКоличество сохраненных точек
selectStrongestВыберите точки с самыми сильными метриками
sizeВозвратите размер объекта точек
selectUniformВыберите равномерно распределенное подмножество характерных точек

Примеры

свернуть все

Читайте в изображении.

    I = imread('cameraman.tif');

Обнаружьте функции SURF.

    points = detectSURFFeatures(I);

Отобразите местоположение и шкалу для 10 самых сильных точек.

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

Отображение [x y] координирует для 10 самых сильных точек на командной строке.

    strongest.Location
ans = 10x2 single matrix

  139.7482   95.9542
  107.4502  232.0347
  116.6112  138.2446
  105.5152  172.1816
  113.6975   48.7220
  104.4210   75.7348
  111.3914  154.4597
  106.2879  175.2709
  131.1298   98.3900
  124.2933   64.4942

Читайте в изображении.

    I = imread('cameraman.tif');

Обнаружьте функцию SURF.

    points = detectSURFFeatures(I);

Отобразите последние 5 точек.

    imshow(I); hold on;
    plot(points(end-4:end));

Советы

Несмотря на то, что SURFPoints может содержать много точек, это - скалярный объект. Поэтому numel(surfPoints) всегда возвращает 1. Это значение может отличаться от length(surfPoints), который возвращает истинное число точек, сохраненное объектом.

Ссылки

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

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

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