exponenta event banner

worldpointset

Управление соответствиями между 3-D и 2-D точками

Описание

worldpointset объект сохраняет соответствия между точками мира 3-D и точками изображения 2-D во всех видах камеры. Вы можете использовать worldpointset объект с imageviewset объект для управления данными изображения и карты для структуры от движения, визуальной одометрии и визуальной одновременной локализации и отображения (SLAM).

Создание

Синтаксис

Описание

пример

wpSet = worldpointset создает объект worldpointset со свойствами по умолчанию. Функции объекта используются для выполнения таких действий, как добавление, изменение или удаление соответствий, поиск точек в представлении и поиск видов точек.

Свойства

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

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

3-D точки мира, заданная как матрица M-by-3 со строками, содержащими [x y z] точки мира . М - количество 3-D мировых очков.

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

Идентификаторы представлений, связанных с точками мира, заданными как N-элементный вектор строк целых чисел.

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

Количество 3-D точек мира, указанных как скаляр.

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

3-D к 2-D точкам соответствия, указанным в виде таблицы из трех столбцов.

КолонкаОписание
PointIndexКаждая строка содержит линейный индекс точки мира.
ViewIdКаждая строка содержит вектор 1-by-N, задающий идентификаторы видов, связанных с соответствующими точками мира. N - количество просмотров, связанных с мировой точкой.
FeatureIndexКаждая строка содержит вектор 1-by-N, задающий индексы точек элемента, которые соответствуют точке мира. Каждый элемент является индексом точки элемента в представлении, указанном соответствующим элементом в ViewID ячейка.

Функции объекта

addWorldPointsДобавление точек мира в набор точек мира
removeWorldPointsУдалить точки мира из набора точек мира
updateWorldPointsОбновление точек мира в наборе точек мира
addCorrespondencesОбновление точек мира в наборе точек мира
removeCorrespondencesУдаление 3-D для 2-D соответствий из набора точек мира
updateCorrespondencesОбновить 3-D для 2-D соответствий в наборе точек мира
findViewsOfWorldPointНайти взгляды, которые наблюдают точку мира
findWorldPointsInTracksПоиск точек мира, соответствующих трассам точек
findWorldPointsInViewНайти точки мира, наблюдаемые в поле зрения

Примеры

свернуть все

Загрузить a MAT-файл, содержащий стереопараметры, в рабочую область.

load('webcamsSceneReconstruction.mat');

Считывание стереопары изображений в рабочее пространство.

I1 = imread('sceneReconstructionLeft.jpg');
I2 = imread('sceneReconstructionRight.jpg');

Отмена искажения изображений.

I1 = undistortImage(I1,stereoParams.CameraParameters1);
I2 = undistortImage(I2,stereoParams.CameraParameters2);

Определите представляющую интерес прямоугольную область (ROI) в формате [x y width height].

roi = [30 30 size(I1,2)-30 size(I1,1)-30];

Обнаружение и извлечение ускоренных надежных функций (SURF) из обоих изображений с помощью ROI.

imagePoints1 = detectSURFFeatures(im2gray(I1),'ROI',roi);
imagePoints2 = detectSURFFeatures(im2gray(I2),'ROI',roi);
  
[feature1,validPoints1] = extractFeatures(im2gray(I1),imagePoints1,'Upright',true);
[feature2,validPoints2] = extractFeatures(im2gray(I2),imagePoints2,'Upright',true);

Сопоставьте извлеченные элементы друг с другом.

indexPairs = matchFeatures(feature1,feature2);

Вычислите 3-D точки мира.

matchedPoints1 = validPoints1(indexPairs(:,1));
matchedPoints2 = validPoints2(indexPairs(:,2));
worldPoints    = triangulate(matchedPoints1,matchedPoints2,stereoParams);

Создать worldpointset объект для управления соответствиями.

wpSet = worldpointset;

Добавить точки мира в worldpointset.

[wpSet,newPointIndices] = addWorldPoints(wpSet,worldPoints);

Добавьте 3-D к соответствиям точек 2-D к worldpointset.

wpSet = addCorrespondences(wpSet,1,newPointIndices,indexPairs(:,1));
wpSet = addCorrespondences(wpSet,2,newPointIndices,indexPairs(:,2));

Отображение точек мира.

pcshow(wpSet.WorldPoints,'VerticalAxis','y','VerticalAxisDir','down','MarkerSize',45)

Представлен в R2020b