use of georegression.struct.point.Point2D_F32 in project BoofCV by lessthanoptimal.
the class TestRemoveRadialPtoN_F32 method checkAgainstAdd.
public void checkAgainstAdd(float t1, float t2) {
float fx = 600;
float fy = 500;
float skew = 2;
float xc = 300;
float yc = 350;
/**/
double[] radial = new /**/
double[] { 0.12, -0.13 };
Point2D_F32 point = new Point2D_F32();
float undistX = 19.5f;
float undistY = 200.1f;
AddRadialPtoN_F32 p_to_n = new AddRadialPtoN_F32().setK(fx, fy, skew, xc, yc).setDistortion(radial, t1, t2);
new Transform2ThenPixel_F32(p_to_n).set(fx, fy, skew, xc, yc).compute(undistX, undistY, point);
float distX = point.x;
float distY = point.y;
RemoveRadialPtoN_F32 alg = new RemoveRadialPtoN_F32().setK(fx, fy, skew, xc, yc).setDistortion(radial, t1, t2);
alg.compute(distX, distY, point);
// / go from calibrated coordinates to pixel
FMatrixRMaj K = PerspectiveOps.calibrationMatrix(fx, fy, skew, xc, yc);
GeometryMath_F32.mult(K, point, point);
assertEquals(undistX, point.x, GrlConstants.TEST_SQ_F32);
assertEquals(undistY, point.y, GrlConstants.TEST_SQ_F32);
}
use of georegression.struct.point.Point2D_F32 in project BoofCV by lessthanoptimal.
the class TestEquirectangularTools_F32 method equiToLonlat_reverse.
private void equiToLonlat_reverse(EquirectangularTools_F32 tools, float x, float y) {
GeoLL_F32 ll = new GeoLL_F32();
Point2D_F32 r = new Point2D_F32();
tools.equiToLatLon(x, y, ll);
tools.latlonToEqui(ll.lat, ll.lon, r);
assertEquals(x, r.x, GrlConstants.TEST_F32);
assertEquals(y, r.y, GrlConstants.TEST_F32);
}
use of georegression.struct.point.Point2D_F32 in project BoofCV by lessthanoptimal.
the class TestEquirectangularTools_F32 method lonlatToEqui.
@Test
public void lonlatToEqui() {
EquirectangularTools_F32 tools = new EquirectangularTools_F32();
tools.configure(width, height);
Point2D_F32 found = new Point2D_F32();
tools.latlonToEqui(GrlConstants.F_PId2, 0, found);
assertEquals(width / 2, found.x, GrlConstants.TEST_F32);
assertEquals(height - 1, found.y, GrlConstants.TEST_F32);
tools.latlonToEqui(-GrlConstants.F_PId2, 0, found);
assertEquals(width / 2, found.x, GrlConstants.TEST_F32);
assertEquals(0, found.y, GrlConstants.TEST_F32);
}
use of georegression.struct.point.Point2D_F32 in project BoofCV by lessthanoptimal.
the class TestEquirectangularTools_F32 method equiToNorm_reverseFV.
private void equiToNorm_reverseFV(EquirectangularTools_F32 tools, float x, float y) {
Point3D_F32 n = new Point3D_F32();
Point2D_F32 r = new Point2D_F32();
tools.equiToNormFV(x, y, n);
tools.normToEquiFV(n.x, n.y, n.z, r);
assertEquals(x, r.x, GrlConstants.TEST_F32);
assertEquals(y, r.y, GrlConstants.TEST_F32);
}
use of georegression.struct.point.Point2D_F32 in project BoofCV by lessthanoptimal.
the class TestEquirectangularTools_F32 method equiToLonlatFV_reverse.
private void equiToLonlatFV_reverse(EquirectangularTools_F32 tools, float x, float y) {
GeoLL_F32 ll = new GeoLL_F32();
Point2D_F32 r = new Point2D_F32();
tools.equiToLatLonFV(x, y, ll);
tools.latlonToEquiFV(ll.lat, ll.lon, r);
assertEquals(x, r.x, GrlConstants.TEST_F32);
assertEquals(y, r.y, GrlConstants.TEST_F32);
}
Aggregations