cornerPoints

Объект для хранения угловых точек

Описание

Это объект сохраняет информацию о характерных точках обнаруживается из 2D полутонового изображения.

Создание

Описание

пример

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

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

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

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

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

Свойства

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

Это свойство доступно только для чтения.

Местоположение keypoints в виде M-by-2 матрица. Каждая строка имеет форму [x y] и представляет местоположение keypoint. M является количеством keypoints. Вы не можете установить это свойство, использовать location входной параметр вместо этого.

Число точек, сохраненное угловыми точками, возражает в виде числового значения.

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

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

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

Примеры

свернуть все

Считайте изображение.

I = imread('cameraman.tif');

Обнаружьте характерные точки.

points = detectHarrisFeatures(I);

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

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

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

Отобразитесь (x, y) координаты самых сильных точек.

strongest.Location
ans = 10x2 single matrix

  112.4516  208.4412
  108.6510  228.1681
  136.6969  114.7962
  181.4160  205.9876
  135.5823  123.4529
  100.4951  174.3253
  146.7581   94.7393
  135.2899   92.6485
  129.8439  110.0350
  130.5716   91.0424

Создайте изображение шахматной доски.

I = checkerboard(50,2,2);

Загрузите местоположения угловых точек.

location = [51    51    51   100   100   100   151   151   151; ...
            50   100   150    50   101   150    50   100   150]';

Сохраните точки в cornerPoints объект.

points = cornerPoints(location);

Отобразите точки на шахматной доске.

imshow(I)
hold on
plot(points)

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

Советы

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

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

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