You can use theStereo Camera Calibratorapp to calibrate a stereo camera, which you can then use to recover depth from images. A stereo system consists of two cameras: camera 1 and camera 2. The app can either estimate or import the parameters of individual cameras. The app also calculates the position and orientation of camera 2, relative to camera 1.
TheStereo Camera Calibratorapp produces an object containing the stereo camera parameters. You can use this object to
Rectify stereo images using therectifyStereoImages
function.
Reconstruct the 3-D scene using thereconstructScene
function.
Compute 3-D locations corresponding to matching pairs of image points using thetriangulate
function.
The suite of calibration functions used by theStereo Camera Calibratorapp provide the workflow for stereo system calibration. You can use these functions directly in the MATLAB®workspace. For a list of calibration functions, seeSingle and Stereo Camera Calibration.
Note
You can use the Camera Calibrator app with cameras up to a field of view (FOV) of 95 degrees.
Follow this workflow to calibrate your stereo camera using the app:
Prepare images, camera, and calibration pattern.
Add image pairs.
Calibrate the stereo camera.
Evaluate calibration accuracy.
Adjust parameters to improve accuracy (if necessary).
Export the parameters object.
In some cases, the default values work well, and you do not need to make any improvements before exporting parameters. You can also make improvements using the camera calibration functions directly in the MATLAB workspace. For a list of functions, seeSingle and Stereo Camera Calibration.
MATLAB Toolstrip: On theAppstab, in theImage Processing and Computer Visionsection, click theStereo Camera Calibratoricon.
MATLAB command prompt: EnterstereoCameraCalibrator
To improve the results, use between 10 and 20 images of the calibration pattern. The calibrator requires at least three images. Use uncompressed images or lossless compression formats such as PNG. The calibration pattern and the camera setup must satisfy a set of requirements to work with the calibrator. For greater calibration accuracy, follow these instructions for preparing the pattern, setting up the camera, and capturing the images.
To begin calibration, click, specifically two sets of stereo images of the checkerboard,one set from each camera.
Once you are satisfied with the accepted image pairs, click theCalibratebutton on theCalibrationtab. The default calibration settings assume the minimum set of camera parameters. Start by running the calibration with the default settings. After evaluating the results, you can try to improve calibration accuracy by adjusting the settings and adding or removing images, and then calibrate again.
You can evaluate calibration accuracy by examining the reprojection errors, examining the camera extrinsics, or viewing the undistorted image. For best calibration results, use all three methods of evaluation.
To improve the calibration, you can remove high-error image pairs, add more image pairs, or modify the calibrator settings.
When you are satisfied with calibration accuracy, clickExport Camera Parameters. You can either save and export the camera parameters to an object by selectingExport Camera Parametersor generate the camera parameters as a MATLAB script.
[1] Zhang, Z. “A Flexible New Technique for Camera Calibration”.IEEE Transactions on Pattern Analysis and Machine Intelligence.Vol. 22, No. 11, 2000, pp. 1330–1334.
[2] Heikkila, J, and O. Silven. “A Four-step Camera Calibration Procedure with Implicit Image Correction.”IEEE International Conference on Computer Vision and Pattern Recognition. 1997.
Camera Calibrator|cameraParameters
|detectCheckerboardPoints
|estimateCameraParameters
|generateCheckerboardPoints
|showExtrinsics
|showReprojectionErrors
|Stereo Camera Calibrator|stereoParameters
|undistortImage