licornea_tools

calibration
   calibrate_intrinsics
   cameras_from_checkerboards
   cg_choose_refgrid
   cg_compare_straight_depths
   cg_cors_viewer_f
   cg_cors_viewer_v
   cg_filter_features
   cg_generate_artificial
   cg_measure_optical_flow_slopes
   cg_model_optical_flow_slopes
   cg_optical_flow_cors
   cg_optical_flow_features
   cg_rcpos_from_cors
   cg_redistribute_cors
   cg_rotation_from_depths
   cg_rotation_from_fslopes
   cg_slopes_viewer
   cg_stitch_cameras
   cg_straight_depths_from_depths
   cg_straight_depths_from_disparity
   cg_visualize_fslopes
   copy_cors
   cors_info
   cors_view_fpoints
   evaluate_calibration
   export_feature_depths
   merge_cors
   read_feature_depths
   remove_cors
   undistort_cors
   undistort_fpoints
   undistort_image
camera
   export_mpeg
   import_matlab
   import_mpeg
   import_xml
   merge_cameras
   restrict_cameras
   transform
   visualize
dataset
   duplicates
   flip
   missing
   slice
   view_dataset
kinect
   calibrate_color_ir_reprojection
   checkerboard_color_depth
   checkerboard_depth_parallel
   checkerboard_depth_samples
   checkerboard_depth_stat
   checkerboard_depth_viewer
   checkerboard_samples
   close_kinect
   color_intrinsic_reprojection
   depth_remapping
   depth_reprojection
   fetch_internal_parameters
   import_raw_data
   internal_ir_intrinsics
   ir_distortion_viewer
   ir_intrinsic_reprojection
   parallel_wall
   remapping_viewer
   reprojection_viewer
   viewer
misc
   apply_homography
   cam_rotation
   cat_obj_img_cors
   copy_json
   extract_all
   extract_parametric
   homography_maximal_border
   psnr
   touch
   view_depth
   view_distortion
   view_syn
   yuv_export
   yuv_import
vsrs
   export_for_vsrs
   list_increase_baseline_experiments
   list_parametric_experiments
   list_skip_n_experiments
   make_vsrs_config
   psnr_experiments
   run_vsrs
   run_vsrs_experiments
   vsrs_disparity

calibration/cg_redistribute_cors

Subdivide image correspondences into overlapping subsets with different reference views.

calibration/cg_redistribute_cors in_cors.json pseudo_refgrid.json outreach_radius out_cors.json

For example: The input in_cors.json has 2 features A and B, on 1 reference view r, both tracked over an outreach of 10:

A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A
B  B  B  B  B  B  B  B  B  B  B  B  B  B  B  B  B  B  B  B  B
                              r
                                                -----> v

For every view v, A and B should correspond to the same scene object point. There can be an error in this because of the optical flow estimation. But for the reference view r there is no error (because the features were defined on that view).

The new pseudo_refgrid.json is given with two additional pseudo-reference views left and right of r. Then this redistribution is done with an outreach of 5. The resulting out_cors.json now have 6 features A1, A2, A3, B1, B2, B3 on 3 different reference views r1, r2, r3:

A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 .  .  .  .  .  .  .  .  .  .  .
B1 B1 B1 B1 B1 B1 B1 B1 B1 B1 .  .  .  .  .  .  .  .  .  .  .
            r1                r2                r3


.  .  .  .  .  A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 A2 .  .  .  .  .
.  .  .  .  .  B2 B2 B2 B2 B2 B2 B2 B2 B2 B2 B2 .  .  .  .  .
            r1                r2                r3


.  .  .  .  .  .  .  .  .  .  .  A3 A3 A3 A3 A3 A3 A3 A3 A3 A3
.  .  .  .  .  .  .  .  .  .  .  B3 B3 B3 B3 B3 B3 B3 B3 B3 B3
            r1                r2                r3

                                                -----> v

Here, for the reference views r1 and r3, there can now be an error in A and B (they no longer are on the right scene object point). So they are pseudo-reference views.

The new feature points A1, A2, A3, B1, B2, B3 are copies of A, B, C. So the out_cors.json gets much larger. (Binary format out_cors.bin should be used).

When used with calibration/cg_rcpos_from_cors, it will estimate relative camera positions for each of the new pseudo-reference views as center, to the error does not get as large since the outreach is smaller. Instead more error will come from stiching in calibration/cg_stitch_cameras.