findTracks

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

Описание

пример

tracks = findTracks(vSet) находит и возвращает дорожки точки через несколько представлений в наборе представления, vSet. Каждая дорожка содержит 2D проекции той же 3-D мировой точки.

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

tracks = findTracks(___,'MinTrackLength',trackLength) задает минимальную длину дорожек.

Примеры

свернуть все

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

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

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

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

Создайте набор представления изображения, возражают и добавляют характерные точки первого изображения.

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

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

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

Найдите дорожки точки через последовательность изображений.

tracks = findTracks(vSet);

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

свернуть все

Представление изображения установлено в виде imageviewset объект.

Просмотрите идентификаторы в виде вектора из положительных целых чисел. Идентификаторы представления уникальны для определенного представления.

Минимальная длина дорожек в виде положительного целого числа равняется или больше, чем 2.

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

свернуть все

Укажите дорожки через несколько представлений, возвращенных как pointTrack объект.

Введенный в R2020a