viewSet class

Объект для данных об управлении для структуры от движения и визуальной одометрии

Синтаксис

vSet = viewSet

Описание

Примечание

Объект viewSet будет удален в будущем релизе. Используйте imageviewset объект вместо этого.

vSet = viewSet возвращает пустой viewSet возразите что представления хранилищ и связи между представлениями. Представление включает характерные точки и абсолютное положение камеры. Связь между двумя представлениями включает соответствия точки и относительное положение камеры между ними. Если вы заполняете viewSet объект, можно использовать его, чтобы найти дорожки точки через несколько представлений и получить положения камеры, которые будут использоваться triangulateMultiview и bundleAdjustment функции.

Поддержка генерации кода:
Генерация кода поддержек: нет
Блок MATLAB function поддержек: Нет
Поддержка генерации кода, указания по применению и ограничения

Свойства

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

Эти свойства только для чтения.

Количество представлений, сохраненных как целое число.

Просмотрите атрибуты, сохраненные как таблица с четырьмя столбцами. Таблица содержит столбцы для ViewID'points', Orientation, и Location. Используйте poses метод, чтобы получить идентификаторы, ориентацию и местоположение для точек.

Попарные связи между представлениями, сохраненными как таблица с пятью столбцами. Столбцами является ViewID1, ViewID2, Matches, RelativeOrientation, и RelativeLocation. Количество записей в таблице представляет количество связей. Каждый индекс в Matches столбец представляет связь между двумя представлениями, обозначенными представлением IDs.

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

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

viewSet объект раньше хранил представления и связи между представлениями.

Методы

addConnectionДобавьте связь между двумя представлениями
addViewДобавьте новое представление, чтобы просмотреть объект набора
deleteConnectionУдалите связь между двумя представлениями от объекта набора представления
deleteViewУдалите существующее представление из объекта набора представления
findTracksНайдите соответствующие точки через несколько представлений
hasConnectionПроверяйте, существует ли связь между двумя представлениями
hasViewПроверяйте, существует ли представление
положенияВозвращает положения камеры, сопоставленные в представления
updateConnectionИзмените связь между двумя представлениями в объекте набора представления
updateViewИзмените существующее представление в объекте набора представления

Примеры

свернуть все

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

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