public class RectifyFundamental
extends java.lang.Object
Rectifies a stereo pair given a fundamental or essential matrix. The rectification ensures that the epipolar lines project to infinity along the x-axis. The computed transforms are designed to minimize the range of disparity between the two images. For this technique to work the epipoles must lie outside of both images. See [1] for algorithmic details.
WARNING: On paper this technique sounds straight forward. In practice it requires a very precise fundamental matrix estimate to be of practical use. Using the epipolar constraint alone is not sufficient to remove outliers because a point far away that lands on the epipolar line will have a small error. Removing lens distortion from the image is recommended.
[1] R. Hartley, "Theory and Practice of Projective Rectification", International Journal of Computer Vision, vol 35, no 2, pages 115-127, 1999.
| Constructor and Description |
|---|
RectifyFundamental() |
| Modifier and Type | Method and Description |
|---|---|
org.ejml.data.DenseMatrix64F |
getRect1()
Rectification transform for first camera
|
org.ejml.data.DenseMatrix64F |
getRect2()
Rectification transform for second camera
|
void |
process(org.ejml.data.DenseMatrix64F F,
java.util.List<AssociatedPair> observations,
int width,
int height)
Compute rectification transforms for the stereo pair given a fundamental matrix and its observations.
|
public void process(org.ejml.data.DenseMatrix64F F,
java.util.List<AssociatedPair> observations,
int width,
int height)
F - Fundamental matrixobservations - Observations used to compute Fwidth - Width of first image.height - Height of first image.public org.ejml.data.DenseMatrix64F getRect1()
public org.ejml.data.DenseMatrix64F getRect2()