Package boofcv.alg.geo.trifocal
Class RefineThreeViewProjectiveGeometric
java.lang.Object
boofcv.alg.geo.trifocal.RefineThreeViewProjectiveGeometric
Improves the estimated camera projection matrices for three views, with the first view assumed to be P1 = [I|0].
It's recommended that the observations be normalized to ensure that they are zero mean with a standard deviation
of 1, or similar, first.
This is known as the Gold Standard algorithm in [1]
- R. Hartley, and A. Zisserman, "Multiple View Geometry in Computer Vision", 2nd Ed, Cambridge 2003
-
Constructor Summary
ConstructorDescriptionCreates a constructor using default triangulation and SBA configurationRefineThreeViewProjectiveGeometric
(TriangulateNViewsProjective triangulator, BundleAdjustment<SceneStructureProjective> sba) -
Method Summary
Modifier and TypeMethodDescriptiongetSba()
boolean
isScale()
boolean
refine
(List<AssociatedTriple> listObs, DMatrixRMaj P2, DMatrixRMaj P3) Refines P2 and P3 using SBA.void
setScale
(boolean scale)
-
Constructor Details
-
RefineThreeViewProjectiveGeometric
public RefineThreeViewProjectiveGeometric()Creates a constructor using default triangulation and SBA configuration -
RefineThreeViewProjectiveGeometric
public RefineThreeViewProjectiveGeometric(TriangulateNViewsProjective triangulator, BundleAdjustment<SceneStructureProjective> sba)
-
-
Method Details
-
refine
Refines P2 and P3 using SBA. View 1 is assumed to be P1 = [I|0]- Parameters:
listObs
- Observations from the three viewsP2
- camera matrix for view 2. modifiedP3
- camera matrix for view 3. modified- Returns:
- true if successful
-
getTriangulator
-
getStructure
-
getObservations
-
getSba
-
isScale
public boolean isScale() -
setScale
public void setScale(boolean scale) -
getConverge
-