# Class EpipolarMinimizeGeometricError

java.lang.Object
boofcv.alg.geo.f.EpipolarMinimizeGeometricError

public class EpipolarMinimizeGeometricError extends Object
Given point correspondences x[1] and x[2] and a fundamental matrix F, compute the correspondences x'[1] and x'[2] which minimize the geometric error subject to x'[2] F' x'[1] = 0

Page 318 in: R. Hartley, and A. Zisserman, "Multiple View Geometry in Computer Vision", 2nd Ed, Cambridge 2003

• ## Constructor Summary

Constructors
Constructor
Description
`EpipolarMinimizeGeometricError()`

• ## Method Summary

Modifier and Type
Method
Description
`boolean`
```process(DMatrixRMaj F21, double x1, double y1, double x2, double y2, Point2D_F64 p1, Point2D_F64 p2)```
Minimizes the geometric error
`boolean`
```solvePolynomial(double f1, double f2, double a, Double b, double c, double d)```
Solves for the roots of an ugly polynomial defined in 12.7 in book [1] Coefficients found using Sage Math ``` a,b,c,d,f1,f2,t = var('a,b,c,d,f1,f2,t') g = t*((a*t+b)^2 + f2^2*(c*t+d)^2)^2 - (a*d-b*c)*(1+f1^2*t^2)^2*(a*t+b)*(c*t+d) g.expand().collect(t) ```

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ## Constructor Details

• ### EpipolarMinimizeGeometricError

public EpipolarMinimizeGeometricError()
• ## Method Details

• ### process

public boolean process(DMatrixRMaj F21, double x1, double y1, double x2, double y2, Point2D_F64 p1, Point2D_F64 p2)
Minimizes the geometric error
Parameters:
`F21` - (Input) Fundamental matrix x2 * F21 * x1 == 0
`x1` - (Input) Point 1 x-coordinate. Pixels
`y1` - (Input) Point 1 y-coordinate. Pixels
`x2` - (Input) Point 2 x-coordinate. Pixels
`y2` - (Input) Point 2 y-coordinate. Pixels
`p1` - (Output) Point 1. Pixels
`p2` - (Output) Point 2. Pixels
Returns:
true if a solution was found or false if it failed
• ### solvePolynomial

public boolean solvePolynomial(double f1, double f2, double a, Double b, double c, double d)
Solves for the roots of an ugly polynomial defined in 12.7 in book [1] Coefficients found using Sage Math ``` a,b,c,d,f1,f2,t = var('a,b,c,d,f1,f2,t') g = t*((a*t+b)^2 + f2^2*(c*t+d)^2)^2 - (a*d-b*c)*(1+f1^2*t^2)^2*(a*t+b)*(c*t+d) g.expand().collect(t) ```