updateConnection

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

Описание

пример

vSet = updateConnection(vSet,viewId1,viewId2,relPose) обновляет связь между представлениями viewId1 и viewId2 с относительным положением, заданным как relPose.

vSet = updateConnection(vSet,viewId1,viewId2,relPose,infoMat) задает информационную матрицу, связанную с соединением.

vSet = addConnection(___,'Matches',featureMatches) задает индексы совпадающих точек между двумя представлениями в дополнение к любой комбинации входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

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

vSet = imageviewset;

Считайте два изображения в рабочую область.

imageDir= fullfile(toolboxdir('vision'),'visiondata','structureFromMotion');
I1 = rgb2gray(imread(fullfile(imageDir,'image1.jpg')));
I2 = rgb2gray(imread(fullfile(imageDir,'image2.jpg')));

Обнаружение точек интереса на каждом изображении.

points1 = detectSURFFeatures(I1);
points2 = detectSURFFeatures(I2);

Извлеките дескрипторы функций из процентных точек.

[features1,validPoints1] = extractFeatures(I1,points1);
[features2,validPoints2] = extractFeatures(I2,points2);

Добавьте функции и точки для двух изображений в набор видов изображений.

vSet = addView(vSet,1,'Features',features1,'Points',validPoints1);
vSet = addView(vSet,2,'Features',features2,'Points',validPoints2);

Соответствовать функциям между двумя изображениями. Затем сохраните совпадающие функции как соединение в наборе видов изображений.

indexPairs = matchFeatures(features1,features2);
vSet = addConnection(vSet,1,2,'Matches',indexPairs);

Создайте относительное положение между видами. Затем обновите соединение в наборе видов изображений.

theta = 30; % degrees
rot = [ cosd(theta) sind(theta) 0; ...
        -sind(theta) cosd(theta) 0; ...
        0           0  1];

trans = [2 3 4];
tform = rigid3d(rot,trans);
vSet = updateConnection(vSet,1,2,tform);

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

свернуть все

Набор видов изображений, заданный как imageviewset объект.

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

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

Относительное положение viewId2 относительно viewId1, заданный как rigid3d или affine3d объект.

Информационная матрица, связанная с соединением, задается как числовая матрица 6 на 6.

Индексы совпадающих точек между двумя представлениями, заданные как матрица M -b-2.

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

свернуть все

Просмотрите набор с обновленными соединениями, возвращенный как imageviewset объект.

Введенный в R2020a