【实例简介】
matlab 相机标定代码 摄像机标定(Camera calibration)简单来说是从世界坐标系换到图像坐标系的过程,也就是求最终的投影矩阵的过程。
[1]基本的坐标系:
世界坐标系;
相机坐标系;
成像平面坐标系;
像素坐标系
[2]一般来说,标定的过程分为两个部分:
第一步是从世界坐标系转为相机坐标系,这一步是三维点到三维点的转换,包括R,t(相机外参,确定了相机在某个三维空间中的位置和朝向)等参数;
第二部是从相机坐标系转为成像平面坐标系(像素坐标系),这一步是三维点到二维点的转换,包括K(相机内参,是对相机物理特性的近似)等参数;
投影矩阵 : P=K [ R | t ]
【实例截图】
【核心代码】
d157ff39-ba7a-416f-a0bb-6edce5c0c3f5
└── TOOLBOX_calib
├── add_suppress.m
├── affine.m
├── align_structures.m
├── analyse_error.m
├── anisdiff.m
├── apply_distortion2.m
├── apply_distortion.m
├── apply_fisheye_distortion.m
├── calib_data.mat
├── calib_gui_fisheye.m
├── calib_gui.m
├── calib_gui_no_read.m
├── calib_gui_normal.m
├── calib.m
├── calibration_pattern
│ ├── pattern.eps
│ └── pattern.pdf
├── calib_stereo.m
├── cam_proj_calib.m
├── cam_proj_calib_optim.m
├── cam_proj_extract_param.m
├── centercirclefinder.m
├── check_active_images.m
├── check_convergence.m
├── check_directory.m
├── check_extracted_images.m
├── clear_windows.m
├── clearwin.m
├── click_calib_fisheye_no_read.m
├── click_calib.m
├── click_calib_no_read.m
├── click_ima_calib3D.m
├── click_ima_calib_fisheye_no_read.m
├── click_ima_calib_fisheye_no_read.m~
├── click_ima_calib.m
├── click_ima_calib_no_read.m
├── click_stereo.m
├── combine_calib.m
├── comp_distortion2.m
├── comp_distortion.m
├── comp_distortion_oulu.m
├── comp_error_calib_fisheye.m
├── comp_error_calib.m
├── comp_ext_calib_fisheye.m
├── comp_ext_calib.m
├── comp_fisheye_distortion.m
├── compose_motion.m
├── Compute3D.m
├── compute_collineation.m
├── compute_epipole.m
├── compute_extrinsic_init_fisheye.m
├── compute_extrinsic_init.m
├── compute_extrinsic.m
├── compute_extrinsic_refine2.m
├── compute_extrinsic_refine_fisheye.m
├── compute_extrinsic_refine.m
├── compute_homography.m
├── ComputeStripes.m
├── cornerfinder2.m
├── cornerfinder.m
├── cornerfinder_saddle_point.m
├── count_squares_distorted.m
├── count_squares_fisheye_distorted.m
├── count_squares.m
├── dAB.m
├── data_calib.m
├── data_calib_no_read.m
├── Distor2Calib.m
├── downsample.m
├── edgefinder.m
├── eliminate_boundary.m
├── error_analysis.m
├── error_cam_proj2.m
├── error_cam_proj3.m
├── error_cam_proj.m
├── error_depth_list.m
├── error_depth.m
├── export_calib_data.m
├── ext_calib2.m
├── ext_calib.m
├── ext_calib_stereo.m
├── extract_distortion_data.m
├── extract_grid.m
├── extract_grid_manual.m
├── extract_parameters3D.m
├── extract_parameters_fisheye.m
├── extract_parameters.m
├── extrinsic_computation.m
├── fixallvariables.m
├── fixvariable.m
├── fov.m
├── ginput2.m
├── ginput3.m
├── ginput4.m
├── go_calib_optim_fisheye_no_read.asv
├── go_calib_optim_fisheye_no_read.m
├── go_calib_optim_iter_fisheye.m
├── go_calib_optim_iter.m
├── go_calib_optim_iter_weak.m
├── go_calib_optim.m
├── go_calib_optim_no_read.m
├── go_calib_stereo.m
├── ima_read_calib.m
├── ima_read_calib_no_read.m
├── init_intrinsic_param_fisheye.m
├── init_intrinsic_param.m
├── inverse_motion.m
├── is3D.m
├── load_image.m
├── loading_calib.m
├── loading_stereo_calib.m
├── loadinr.m
├── loadpgm.m
├── loadppm.m
├── load_stereo_calib_files.m
├── manual_corner_extraction.m
├── manual_corner_extraction_no_read.m
├── mean_std_robust.m
├── merge_calibration_sets.m
├── merge_two_datasets.m
├── Meshing.m
├── mosaic.m
├── mosaic_no_read.m
├── normalize2.m
├── normalize.m
├── normalize_pixel_fisheye.m
├── normalize_pixel.m
├── pattern.eps
├── pgmread.m
├── point_distribution.m
├── project2_oulu.m
├── projectedGrid.m
├── projector_calib.m
├── projector_ima_corners.m
├── projector_marker.m
├── project_points2.m
├── project_points3.m
├── project_points_fisheye.m
├── project_points.m
├── project_points_weak.m
├── README.txt
├── readras.m
├── recomp_corner_calib_fisheye_no_read.m
├── recomp_corner_calib.m
├── recomp_corner_calib_no_read.m
├── recomp_corner_calib_saddle_points.m
├── Rectangle2Square.m
├── rectify_stereo_pair.m
├── rect_index.m
├── rect.m
├── reproject_calib.m
├── reproject_calib_no_read.m
├── rigid_motion.m
├── rodrigues.m
├── rotation.m
├── run_error_analysis.m
├── saveinr.m
├── savepgm.m
├── saveppm.m
├── saving_calib_ascii_fisheye.m
├── saving_calib_ascii.m
├── saving_calib_fisheye.m
├── saving_calib.m
├── saving_calib_no_results.m
├── saving_stereo_calib.m
├── scanner_calibration_script.m
├── scanning_script.m
├── script_fit_distortion_fisheye.m
├── script_fit_distortion.m
├── show_calib_results_fisheye.m
├── show_calib_results.m
├── show_stereo_calib_results.m
├── show_window.m
├── skew3.m
├── small_test_script.m
├── smooth_images.m
├── startup.m
├── stereo_gui.m
├── stereo_triangulation.m
├── TestFunction.m
├── undistort_image_color.m
├── undistort_image.m
├── undistort_image_no_read.m
├── undistort_sequence.m
├── UnWarpPlane.m
├── visualize_distortions.m
├── willson_convert.m
├── willson_read.m
├── write_image.m
└── writeras.m
2 directories, 189 files