Ejemplo n.º 1
0
def test_calibrate():
    fn = os.path.join(CURRENT_DIR, '../../docs/data/calibrate.yml')
    rpc, ro = calibrate(fn)
    assert rpc == 0.0032974348877424457
    assert ro == -0.0049493038029253186
    
    calibration_data = yaml.load(open(fn))
    D_lst = pixels_to_distance(
        pixel_rows=calibration_data['readings'],
        rpc=rpc,
        ro=ro,
        h=calibration_data['h'],
        max_height=calibration_data['image_height'],
        max_width=calibration_data['image_width'],
    )
    print('D_lst:', D_lst)
    
    mae = []
    for i, actual_dist in calibration_data['distances'].iteritems():
        print actual_dist, D_lst[i]
        mae.append(abs(actual_dist - D_lst[i]))
    mae = sum(mae)/float(len(mae))
    print 'MAE:', mae
    assert mae == 48.857111449781485
    
Ejemplo n.º 2
0
def test_calibrate():
    fn = os.path.join(CURRENT_DIR, '../../docs/data/calibrate.yml')
    rpc, ro = calibrate(fn)
    assert rpc == 0.0032974348877424457
    assert ro == -0.0049493038029253186

    calibration_data = yaml.load(open(fn))
    D_lst = pixels_to_distance(
        pixel_rows=calibration_data['readings'],
        rpc=rpc,
        ro=ro,
        h=calibration_data['h'],
        max_height=calibration_data['image_height'],
        max_width=calibration_data['image_width'],
    )
    print('D_lst:', D_lst)

    mae = []
    for i, actual_dist in calibration_data['distances'].items():
        print(actual_dist, D_lst[i])
        mae.append(abs(actual_dist - D_lst[i]))
    mae = sum(mae) / float(len(mae))
    print('MAE:', mae)
    assert mae == 48.857111449781485
Ejemplo n.º 3
0
#!/usr/bin/env python
"""
Helps calibrating a laser range finder by calculating the rpc and ro parameters.

https://shaneormonde.wordpress.com/2014/01/25/webcam-laser-rangefinder/

theta = arctan(h/actual_d)

theta = pfc * rpc + ro
"""
import argparse

from laser_range_finder import calibrate

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='Helps calibrate measurements.')
    parser.add_argument('conf_fn',
                   help='configuration file')
    args = parser.parse_args()
    calibrate(**args.__dict__)
Ejemplo n.º 4
0
#!/usr/bin/env python
"""
Helps calibrating a laser range finder by calculating the rpc and ro parameters.

https://shaneormonde.wordpress.com/2014/01/25/webcam-laser-rangefinder/

theta = arctan(h/actual_d)

theta = pfc * rpc + ro
"""
import argparse

from laser_range_finder import calibrate

if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        description='Helps calibrate measurements.')
    parser.add_argument('conf_fn', help='configuration file')
    args = parser.parse_args()
    calibrate(**args.__dict__)