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
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
#!/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__)
#!/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__)