public class EssentialNister5
extends java.lang.Object
Finds the essential matrix given exactly 5 corresponding points. The approach is described in details in [1] and works by linearlizing the problem then solving for the roots in a polynomial. It is considered one of the fastest and most stable solutions for the 5-point problem.
THIS IMPLEMENTATION DOES NOT CONTAIN ALL THE OPTIMIZATIONS OUTLIED IN [1]. A full implementation is quite involved.
NOTE: This solution could be generalized for an arbitrary number of points. However, it would complicate the algorithm even more and isn't considered to be worth the effort.
[1] David Nister "An Efficient Solution to the Five-Point Relative Pose Problem" Pattern Analysis and Machine Intelligence, 2004
| Constructor and Description |
|---|
EssentialNister5() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
process(java.util.List<AssociatedPair> points,
org.ddogleg.struct.FastQueue<org.ejml.data.DenseMatrix64F> solutions)
Computes the essential matrix from point correspondences.
|
public boolean process(java.util.List<AssociatedPair> points, org.ddogleg.struct.FastQueue<org.ejml.data.DenseMatrix64F> solutions)
points - Input: List of points correspondences in normalized image coordinatessolutions - Output: Storage for the found solutions. .