Example #1
0
def test_undistort_static_radtan():
    image = imread(DATA_DIR / "static-cam0-98.png")
    expected = imread(DATA_DIR / "static-cam0-98-undistorted-radtan.png")
    intrinsics_file = DATA_DIR / "camchain-static-radtan.yaml"
    cam = CameraIntrinsics.from_kalibr_yaml(intrinsics_file, "cam0")
    actual = cam.get_undistorter(extent=ImageExtent.OnlyValid).undistort_image(image)
    assert np.allclose(actual, expected)
Example #2
0
def test_camera_intrinsics_omni():
    cam = CameraIntrinsics.from_kalibr_yaml(camchain, "cam1")

    assert cam.model == CameraModel.Omni
    assert np.allclose(cam.intrinsics,
                       [0.80065662, 833.006, 830.345, 373.850, 253.749])
    with pytest.raises(NotImplementedError):
        cam.intrinsic_matrix
    assert cam.distortion_model == DistortionModel.RadTan
    assert np.allclose(cam.distortion_coeffs,
                       [-0.33518750, 0.13211436, 0.00055967, 0.00057686])
    assert cam.width == 752
    assert cam.height == 480
Example #3
0
def test_camera_intrinsics_file(camchain_path):
    cam = CameraIntrinsics.from_kalibr_yaml(camchain_path.open(), "cam0")
    _check_cam0(cam)
Example #4
0
def test_camera_intrinsics_only():
    camchain_first = "\n".join(camchain.splitlines()[:13])
    cam = CameraIntrinsics.from_kalibr_yaml(camchain_first)
    _check_cam0(cam)
Example #5
0
def test_camera_intrinsics_cam0():
    cam = CameraIntrinsics.from_kalibr_yaml(camchain, "cam0")
    _check_cam0(cam)
Example #6
0
def test_load_empty_file(tmp_path, content):
    file = tmp_path / "temp"
    file.write_text(content)
    with pytest.raises(ValueError):
        CameraIntrinsics.from_kalibr_yaml(file)
Example #7
0
def test_load_empty_stirng():
    with pytest.raises(ValueError):
        CameraIntrinsics.from_kalibr_yaml("")