Epipolar geometry describes the projective relationship between two camera views. A scene point away from the camera baseline and the two camera centers determine an epipolar plane. Its intersections with the image planes are corresponding epipolar lines. Knowing one image point therefore constrains its partner to a line rather than the whole second image.[ref]
Epipolar Geometry in the OpenCV-Python tutorials. Basic Concepts, two-camera plane and epipolar constraint
With image points in homogeneous coordinates, a fundamental matrix expresses the constraintFor an ideal horizontally rectified pair this reduces to equality of image-row coordinates, while horizontal displacement remains free and carries stereo disparity. A line constraint does not determine depth: many scene points along one viewing ray satisfy the geometry. Correct stereo correspondence selects a partner, and camera calibration then supports metric stereoscopic triangulation.
The fundamental matrix encodes the epipolar geometry of two distinct camera centers using image homogeneous coordinates. For matching image points , the ideal constraint isThus is an epipolar line in the right image, while is an epipolar line in the left image. A nondegenerate fundamental matrix has matrix rank two and is defined only up to nonzero scale.[ref]
Epipolar Geometry in the OpenCV-Python tutorials. Basic Concepts: correspondence constraint, rank-two matrix and point-to-line mapping
For an ideal horizontally aligned stereo pair with matched image coordinate origins, one possible scale convention isPutting gives , so the right point must satisfy . Its horizontal coordinate remains free: the constraint reduces the search to a line but does not determine stereo disparity or depth. Repeated texture can still make stereo correspondence ambiguous.
With camera calibration matrices and relative pose under the convention , the relation is , where . Translation direction affects the geometry, but multiplying by a scalar only rescales : the fundamental matrix alone cannot establish a metric camera baseline. Pure rotation has and requires a different geometric description.[ref]
Epipolar Geometry in the OpenCV-Python tutorials. Basic Concepts: essential and fundamental matrices, intrinsic calibration and degrees of freedom
An epipolar plane contains both camera centers and a scene point. For a scene point away from the camera baseline, these three points determine a unique plane. Its intersection with each image plane is an epipolar line, so corresponding image points lie on the two traces of the same plane.[ref]
Epipolar Geometry in the OpenCV-Python tutorials. Basic Concepts, diagram of the baseline, scene point and epipolar plane
To see the geometry directly, take camera centers and , and a scene point . The plane they span satisfies . For parallel forward-facing image planes at common focal length , its traces have in both views. This is why an ideal horizontal stereo pair places corresponding image points on the same row.
Moving the scene point within that plane leaves its epipolar lines unchanged. A single trace therefore cannot recover depth. If the scene point lies on the baseline, the three defining points are collinear and no unique epipolar plane is determined. These degeneracies explain both the usefulness and the limits of line-based stereo correspondence.
An epipolar line is the image-plane trace of an epipolar plane. Given one point in the first camera image, the partner of that scene point must lie on the corresponding epipolar line in the other view. A fundamental matrix maps the first point to coefficients of that line.[ref]
Epipolar Geometry in the OpenCV-Python tutorials. Basic Concepts, point-to-line mapping and computeCorrespondEpilines example
For example, let andThen , so a candidate satisfies . The partner can have different horizontal coordinate , but must lie on row 50 in this ideal model. Intersecting candidate matches with this line reduces the search; it does not resolve repeated textures or guarantee that a visible partner exists.
Articles by others on the same topic
Epipolar geometry is a fundamental concept in computer vision and stereo imaging, referring to the geometric relationship between two or more views of the same three-dimensional scene. It plays a critical role in reconstructing 3D structures from 2D images and is extensively used in applications like 3D reconstruction, stereo vision, and motion tracking.