exponenta event banner

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