public class TrifocalLinearPoint7
extends java.lang.Object
Estimates the TrifocalTensor using a linear algorithm from 7 or more image points correspondences
from three views, see page 394 of [1] for details. After an initial linear solution has been computed
it is improved upon by applying geometric constraints. Note that the solution will not be optimal in a geometric
or algebraic sense, but can be used as an initial estimate for refinement algorithms.
References:
EnforceTrifocalGeometry| Modifier and Type | Field and Description |
|---|---|
protected org.ejml.data.DenseMatrix64F |
A |
protected georegression.struct.point.Point3D_F64 |
e2 |
protected georegression.struct.point.Point3D_F64 |
e3 |
protected EnforceTrifocalGeometry |
enforce |
protected TrifocalExtractEpipoles |
extractEpipoles |
protected org.ejml.data.DenseMatrix64F |
N1 |
protected org.ejml.data.DenseMatrix64F |
N2 |
protected org.ejml.data.DenseMatrix64F |
N3 |
protected georegression.struct.point.Point2D_F64 |
p1_norm |
protected georegression.struct.point.Point2D_F64 |
p2_norm |
protected georegression.struct.point.Point2D_F64 |
p3_norm |
protected TrifocalTensor |
solutionN |
protected org.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DenseMatrix64F> |
svdNull |
protected org.ejml.data.DenseMatrix64F |
vectorizedSolution |
| Constructor and Description |
|---|
TrifocalLinearPoint7() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
createLinearSystem(java.util.List<AssociatedTriple> observations)
Constructs the linear matrix that describes from the 3-point constraint with linear
dependent rows removed
|
boolean |
process(java.util.List<AssociatedTriple> observations,
TrifocalTensor solution)
Estimates the trifocal tensor given the set of observations
|
protected void |
removeNormalization(TrifocalTensor solution)
Translates the trifocal tensor back into regular coordinate system
|
protected boolean |
solveLinearSystem()
Computes the null space of the linear system to find the trifocal tensor
|
protected TrifocalTensor solutionN
protected org.ejml.data.DenseMatrix64F N1
protected org.ejml.data.DenseMatrix64F N2
protected org.ejml.data.DenseMatrix64F N3
protected org.ejml.data.DenseMatrix64F A
protected org.ejml.interfaces.decomposition.SingularValueDecomposition<org.ejml.data.DenseMatrix64F> svdNull
protected org.ejml.data.DenseMatrix64F vectorizedSolution
protected georegression.struct.point.Point2D_F64 p1_norm
protected georegression.struct.point.Point2D_F64 p2_norm
protected georegression.struct.point.Point2D_F64 p3_norm
protected EnforceTrifocalGeometry enforce
protected TrifocalExtractEpipoles extractEpipoles
protected georegression.struct.point.Point3D_F64 e2
protected georegression.struct.point.Point3D_F64 e3
public boolean process(java.util.List<AssociatedTriple> observations, TrifocalTensor solution)
observations - Set of observationssolution - Output: Where the solution is written toprotected void createLinearSystem(java.util.List<AssociatedTriple> observations)
protected boolean solveLinearSystem()
protected void removeNormalization(TrifocalTensor solution)