Пример #1
0
def test_essential_n_points(pairs_and_their_E):
    for f1, f2, E, _ in pairs_and_their_E:

        f1 /= np.linalg.norm(f1, axis=1)[:, None]
        f2 /= np.linalg.norm(f2, axis=1)[:, None]

        result = pygeometry.essential_n_points(f1, f2)
        E_found = result[0]

        if E_found[0, 0] * E[0, 0] < 0.0:
            E_found *= -1.0

        assert np.linalg.det(E_found) < 1e-10
        assert np.linalg.norm(E - E_found, ord="fro") < 1e-6
Пример #2
0
def test_essential_n_points(one_pair_and_its_E):
    f1, f2, E, _ = one_pair_and_its_E

    f1 /= np.linalg.norm(f1, axis=1)[:, None]
    f2 /= np.linalg.norm(f2, axis=1)[:, None]

    result = pygeometry.essential_n_points(f1, f2)
    E_found = result[0]

    if E_found[0, 0]*E[0, 0] < 0.:
        E_found *= -1.0

    assert np.linalg.det(E_found) < 1e-10
    assert np.linalg.norm(E-E_found, ord='fro') < 1e-6