Stereo triangulation

Reconstruct a set of points from their image projections
Updated 17 Nov 2018

View License

This function uses triangulation to reconstruct 3D points from their projections in two images and
the corresponding camera matrices. Note that in this context, triangulation does *not* refer to subdivision
into triangles (e.g., as in Delaunay). Instead, this function computes the intersection in space of rays
defined by the camera centers and pairs of matching image projections. As these rays will probably
be skew due to various sources of error, the image projections can optionally be corrected prior to
triangulation so that they are consistent with the epipolar geometry. Correction might involve any of
i) global minimization of the error (optimal solution, involves 6th order polynomial), or
ii) Sampson approximation of the error
iii) Lindstrom's fast method (
Option i) is recommended, however, correction is not carried out by default.
After any correction, the points are linearly triangulated with DLT.
There is also the option of triangulating with the 3D midpoint method.
More details can be found in
R. Hartley and P. Sturm "Triangulation", CVIU 68(2):146-157, 1997

Cite As

Manolis Lourakis (2024). Stereo triangulation (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired: Multi-view triangulation

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Added Lindstrom's correction method.


Re-uploaded code (Mozilla did not succeed in previous attempts).


Re-uploaded code


Added the midpoint triangulation method.

Updated description