Main Content

Structure from Motion

3-D reconstruction from multiple views

Structure from Motion (SfM) is the process of estimating the 3-D structure of a scene from a set of 2-D images. For more details, see Implement Visual SLAM in MATLAB.


Camera CalibratorEstimate geometric parameters of a single camera
Stereo Camera CalibratorEstimate geometric parameters of a stereo camera


expand all

detectBRISKFeaturesDetect BRISK features
detectFASTFeaturesDetect corners using FAST algorithm
detectHarrisFeaturesDetect corners using Harris–Stephens algorithm
detectMinEigenFeaturesDetect corners using minimum eigenvalue algorithm
detectMSERFeaturesDetect MSER features
detectSIFTFeaturesDetect scale invariant feature transform (SIFT) features
detectSURFFeaturesDetect SURF features
extractFeaturesExtract interest point descriptors
matchFeaturesFind matching features
matchFeaturesInRadiusFind matching features within specified radius
vision.PointTrackerTrack points in video using Kanade-Lucas-Tomasi (KLT) algorithm

Store Image and Camera Data

imageviewsetManage data for structure-from-motion, visual odometry, and visual SLAM
worldpointsetManage 3-D to 2-D point correspondences
cameraIntrinsicsObject for storing intrinsic camera parameters
rigidtform3d3-D rigid geometric transformation
affinetform3d3-D affine geometric transformation

Estimate Camera Poses

estimateEssentialMatrixEstimate essential matrix from corresponding points in a pair of images
estimateFundamentalMatrixEstimate fundamental matrix from corresponding points in stereo images
estworldposeEstimate camera pose from 3-D to 2-D point correspondences
estrelposeCalculate relative rotation and translation between camera poses

Triangulate Image Points

pointTrackObject for storing matching points from multiple views
findTracksFind matched points across multiple views
triangulate3-D locations of undistorted matching points in stereo images
triangulateMultiview3-D locations of world points matched across multiple images

Optimize Camera Poses and 3-D Points

bundleAdjustmentAdjust collection of 3-D points and camera poses
bundleAdjustmentMotionAdjust collection of 3-D points and camera poses using motion-only bundle adjustment
bundleAdjustmentStructureRefine 3-D points using structure-only bundle adjustment
stereoAnaglyphCreate red-cyan anaglyph from stereo pair of images
pcshowPlot 3-D point cloud
plotCameraPlot a camera in 3-D coordinates
showMatchedFeaturesDisplay corresponding feature points
rotmat2vec3dConvert 3-D rotation matrix to rotation vector
rotvec2mat3dConvert 3-D rotation vector to rotation matrix


Apps for Camera Calibration

Visual Odometry