key = cv2.waitKeyEx(5) if key == -1: # no key press continue print('key:', key) if key == 27: break elif key == ord('y'): if shift_mod_hack: cam_yaw -= 0.5 else: cam_yaw += 0.5 config.setFloatEnum('mount_ypr', 0, cam_yaw) props_json.save(local_config, config) shift_mod_hack = False elif key == ord('p'): if shift_mod_hack: cam_pitch -= 0.5 else: cam_pitch += 0.5 config.setFloatEnum('mount_ypr', 1, cam_pitch) props_json.save(local_config, config) shift_mod_hack = False elif key == ord('r'): if shift_mod_hack: cam_roll += 0.5 else: cam_roll -= 0.5
props_json.load(camera_config, config) cam_yaw = config.getFloatEnum('mount_ypr', 0) cam_pitch = config.getFloatEnum('mount_ypr', 1) cam_roll = config.getFloatEnum('mount_ypr', 2) # setup camera calibration and distortion coefficients if args.select_cam: # set the camera calibration from known preconfigured setups name, K, dist = cam_calib.set_camera_calibration(args.select_cam) config.setString('name', name) config.setFloat("fx", K[0][0]) config.setFloat("fy", K[1][1]) config.setFloat("cu", K[0][2]) config.setFloat("cv", K[1][2]) for i, d in enumerate(dist): config.setFloatEnum("dist_coeffs", i, d) props_json.save(camera_config, config) else: # load the camera calibration from the config file name = config.getString('name') size = config.getLen("dist_coeffs") dist = [] for i in range(size): dist.append(config.getFloatEnum("dist_coeffs", i)) K = np.zeros((3, 3)) K[0][0] = config.getFloat("fx") K[1][1] = config.getFloat("fy") K[0][2] = config.getFloat("cu") K[1][2] = config.getFloat("cv") K[2][2] = 1.0 print 'Camera:', name