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(org.ejml.data.DenseMatrix64F A,
org.ejml.data.DenseMatrix64F F)
Computes the SVD of A and extracts the essential/fundamental matrix from its null space
|
boolean |
process(java.util.List<AssociatedPair> points,
org.ejml.data.DenseMatrix64F solution)
Computes a fundamental or essential matrix from a set of associated point correspondences.
|
createA, getSvdS, getSvdU, getSvdV, isComputeFundamental, projectOntoEssential, projectOntoFundamentalSpace, undoNormalizationFpublic FundamentalLinear8(boolean computeFundamental)
computeFundamental - true it computes a fundamental matrix and false for essentialpublic boolean process(java.util.List<AssociatedPair> points, org.ejml.data.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(org.ejml.data.DenseMatrix64F A,
org.ejml.data.DenseMatrix64F F)