public class FundamentalLinear8 extends FundamentalLinear
Given a set of 8 or more points this class computes the essential or fundamental matrix. The result is often used as an initial guess for more accurate non-linear approaches.
The computed fundamental matrix follow the following convention (with no noise) for the associated pair:
x2T*F*x1 = 0
x1 = keyLoc and x2 = currLoc.
References:
A, N1, N2, svdConstraints, svdNull, svdS, svdU, svdV, temp0
Constructor and Description |
---|
FundamentalLinear8(boolean computeFundamental)
Specifies which type of matrix is to be computed
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
process(DenseMatrix64F A,
DenseMatrix64F F)
Computes the SVD of A and extracts the essential/fundamental matrix from its null space
|
boolean |
process(java.util.List<AssociatedPair> points,
DenseMatrix64F solution)
Computes a fundamental or essential matrix from a set of associated point correspondences.
|
createA, getSvdS, getSvdU, getSvdV, isComputeFundamental, projectOntoEssential, projectOntoFundamentalSpace, undoNormalizationF
public FundamentalLinear8(boolean computeFundamental)
computeFundamental
- true it computes a fundamental matrix and false for essentialpublic boolean process(java.util.List<AssociatedPair> points, DenseMatrix64F solution)
Computes a fundamental or essential matrix from a set of associated point correspondences.
points
- List of corresponding image coordinates. In pixel for fundamental matrix or
normalized coordinates for essential matrix.protected boolean process(DenseMatrix64F A, DenseMatrix64F F)
Copyright © 2011-2012 Peter Abeles