Main Content

updateConnection

Update connection between views in a view set

Description

example

vSet = updateConnection(vSet,viewId1,viewId2,relPose) updates the connection between views viewId1 and viewId2 with the relative pose specified by relPose.

vSet = updateConnection(vSet,viewId1,viewId2,relPose,infoMat) specifies the information matrix associated with the connection.

vSet = addConnection(___,'Matches',featureMatches) specifies the indices of matched points between two views in addition to any of the input argument combinations in previous syntaxes.

Examples

collapse all

Create an empty image view set.

vSet = imageviewset;

Read two images into the workspace.

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

Detect interest points in each image.

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

Extract feature descriptors from the interest points.

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

Add features and the points for the two images to the image view set.

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

Match the features between the two images. Then, store the matched features as a connection in the image view set.

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

Create a relative pose between the views. Then,update the connection in the image view set.

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);

Input Arguments

collapse all

Image view set, specified as an imageviewset object.

View identifier 1, specified as an integer. View identifiers are unique to a specific view.

View identifier 2, specified as an integer. View identifiers are unique to a specific view.

Relative pose of viewId2 with respect to viewId1, specified as a rigid3d object.

Information matrix associated with the connection, specified as a 6-by-6 numeric matrix.

Indices of matched points between two views, specified as an M-b-2 matrix.

Output Arguments

collapse all

View set with updated connections, returned as an imageviewset object.

Introduced in R2020a