Package boofcv.alg.geo.trifocal
Class EnforceTrifocalGeometry
java.lang.Object
boofcv.alg.geo.trifocal.EnforceTrifocalGeometry
public class EnforceTrifocalGeometry extends Object
Applies geometric constraints to an estimated trifocal tensor. See page 394 in [1].
References:
- R. Hartley, and A. Zisserman, "Multiple View Geometry in Computer Vision", 2nd Ed, Cambridge 2003
-
Field Summary
Fields Modifier and Type Field Description protected DMatrixRMaj
E
-
Constructor Summary
Constructors Constructor Description EnforceTrifocalGeometry()
-
Method Summary
Modifier and Type Method Description void
computeErrorVector(DMatrixRMaj A, DMatrixRMaj errors)
Returns the algebraic error vector.protected void
constructE(Point3D_F64 e2, Point3D_F64 e3)
The matrix E is a linear system for computing the trifocal tensor.void
extractSolution(TrifocalTensor tensor)
Inserts the found trifocal tensor into the provided object.void
process(Point3D_F64 e2, Point3D_F64 e3, DMatrixRMaj A)
Computes a trifocal tensor which minimizes the algebraic error given the two epipoles and the linear constraint matrix.
-
Field Details
-
E
-
-
Constructor Details
-
EnforceTrifocalGeometry
public EnforceTrifocalGeometry()
-
-
Method Details
-
process
Computes a trifocal tensor which minimizes the algebraic error given the two epipoles and the linear constraint matrix. The epipoles are from a previously computed trifocal tensor.- Parameters:
e2
- Epipole of first image in the second imagee3
- Epipole of first image in the third imageA
- Linear constraint matrix for trifocal tensor created from image observations.
-
computeErrorVector
Returns the algebraic error vector. error = A*U*x. length = number of observations -
extractSolution
Inserts the found trifocal tensor into the provided object. -
constructE
The matrix E is a linear system for computing the trifocal tensor. The columns are the unknown square matrices from view 2 and 3. The right most column in both projection matrices are the provided epipoles, whose values are inserted into E
-