findTracks

Класс: viewSet

Найдите соответствующие точки через несколько представлений

Синтаксис

tracks = findTracks(vSet)
tracks = findTracks(vSet,viewIds)

Описание

tracks = findTracks(vSet) находит дорожки точки через несколько представлений.

tracks = findTracks(vSet,viewIds) находит дорожки точки через подмножество представлений.

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

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

viewSet объект.

Подмножество представлений в viewSet объект в виде вектора целых чисел.

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

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

Укажите отслеживаемые объекты, возвращенные как массив pointTrack объекты. Каждая дорожка содержит 2D проекции той же 3-D мировой точки.

Примеры

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

Загрузите изображения.

imageDir = fullfile(toolboxdir('vision'),'visiondata','structureFromMotion');
images = imageSet(imageDir);

Вычислите функции первого изображения.

I = rgb2gray(read(images, 1));
pointsPrev = detectSURFFeatures(I);
[featuresPrev,pointsPrev] = extractFeatures(I,pointsPrev);

Создайте viewSet объект.

vSet = viewSet;
vSet = addView(vSet,1,'Points',pointsPrev);

Вычислите функции и соответствия для остальной части изображений.

for i = 2:images.Count
 I = rgb2gray(read(images,i));
 points = detectSURFFeatures(I);
 [features, points] = extractFeatures(I,points);
 vSet = addView(vSet,i,'Points',points);
 pairsIdx = matchFeatures(featuresPrev,features);
 vSet = addConnection(vSet,i-1,i,'Matches',pairsIdx);
 featuresPrev = features;
end

Найдите дорожки точки.

tracks = findTracks(vSet);

Введенный в R2016a