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] координаты.

Свойства

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

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

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

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

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)

Отобразитесь (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)

Советы

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

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

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