findTracks

Поиск совпадающих точек на нескольких видах

Описание

пример

tracks = findTracks(vSet) находит и возвращает треки точек между несколькими видами в наборе видов, vSet. Каждый трек содержит 2-D проекции одной и той же 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