Main Content

Calibrate Cameras

Automate intrinsics and extrinsics calibration workflows for single, fisheye, stereo, multi-camera, and robot hand-eye configurations

Camera calibration is the process of estimating camera parameters by using images that contain a calibration pattern. The parameters include camera intrinsics, distortion coefficients, and camera extrinsics. Use these camera parameters to remove lens distortion effects from an image, measure planar objects, reconstruct 3-D scenes from multiple cameras, and perform other computer vision applications.

Click an illustration to view its topic.

Fisheye camera calibration extends this process by estimating parameters and distortion coefficients specific to fisheye lenses, which is essential for correcting extreme distortion and accurately mapping image points to real-world coordinates in applications such as SLAM, odometry, surveillance, VR, and image stitching. Multi-camera calibration ensures that all cameras in a system share a consistent understanding of scene geometry, enabling tasks like 3-D motion capture, reconstruction, and photogrammetry, while robot hand-eye calibration determines the spatial relationship between a robot arm and a camera for precise visual servoing and interaction. You can use the Camera Calibrator app and functions for single-camera intrinsics, extrinsics, and distortion, the Stereo Camera Calibrator app and functions for stereo parameters and relative orientations, and dedicated fisheye calibration functions for distortion removal and accurate wide-angle 3-D reconstruction.

Apps

Camera CalibratorEstimate geometric parameters of a single camera
Stereo Camera CalibratorEstimate geometric parameters of a stereo camera

Functions

expand all

Checkerboard

detectCheckerboardPointsDetect checkerboard pattern in image

Circle Grid

detectCircleGridPointsDetect circle grid pattern in images (Since R2021b)

ChArUco Board

detectCharucoBoardPointsDetect ChArUco board pattern in images (Since R2024b)
generateCharucoBoardGenerate ChArUco board image (Since R2024b)

AprilGrid

detectAprilGridPointsDetect keypoints of AprilGrid pattern in images (Since R2024b)

Custom Pattern

vision.calibration.PatternDetectorInterface for defining custom planar pattern detectors (Since R2021b)

Generate World Points

patternWorldPointsGenerate world point locations of a camera calibration pattern (Since R2024b)
generateWorldPointsGenerate world coordinates for keypoints of custom planar pattern (Since R2021b)

Patterns for Multi-Camera Calibration

detectPatternPointsDetect keypoints of calibration pattern in images from multiple cameras (Since R2025a)
detectMultiPatternPointsDetect keypoints of multiple calibration patterns (Since R2026a)

AprilTag and ArUco Markers

readAprilTagDetect and estimate pose for AprilTag in image
readArucoMarkerDetect and estimate pose for ArUco marker in image (Since R2024a)
generateArucoMarkerGenerate ArUco marker images (Since R2024a)

Pinhole Camera

estimateCameraParametersCalibrate a single or stereo camera
estimateCameraProjectionEstimate camera projection matrix from world-to-image point correspondences (Since R2022b)

Fisheye Camera

estimateFisheyeParametersCalibrate fisheye camera

Stereo Camera

estimateStereoBaselineEstimate baseline of stereo camera

Multiple Cameras

estimateMultiCameraParametersCalibrate extrinsic parameters of multiple cameras with overlapping views (Since R2025a)

Robot Camera

estimateCameraRobotTransformEstimate pose of camera relative to robot using hand-eye calibration (Since R2025a)

Single Camera

cameraParametersObject for storing camera parameters
cameraIntrinsicsObject for storing intrinsic camera parameters
cameraIntrinsicsKBIntrinsic camera parameters based on Kannala-Brandt model (Since R2024a)
cameraProjectionCamera projection matrix (Since R2022b)

Multiple Cameras

multiCameraParametersStore multi-camera system parameters (Since R2025a)

Fisheye Camera

fisheyeIntrinsicsObject for storing intrinsic fisheye camera parameters
fisheyeParametersObject for storing fisheye camera parameters

Stereo Camera

stereoParametersObject for storing stereo camera system parameters

Error Metrics

cameraCalibrationErrorsObject for storing standard errors of estimated camera parameters
stereoCalibrationErrorsObject for storing standard errors of estimated stereo parameters
extrinsicsEstimationErrorsObject for storing standard errors of estimated camera extrinsics and distortion coefficients
intrinsicsEstimationErrorsObject for storing standard errors of estimated camera intrinsics and distortion coefficients
fisheyeCalibrationErrorsObject for storing standard errors of estimated fisheye camera parameters
fisheyeIntrinsicsEstimationErrorsObject for storing standard errors of estimated fisheye camera intrinsics

Pinhole Camera

undistortImageCorrect image for lens distortion
undistortPointsCorrect point coordinates for lens distortion

Fisheye Camera

undistortFisheyeImageCorrect fisheye image for lens distortion
undistortFisheyePointsCorrect point coordinates for fisheye lens distortion
pcshowPlot 3-D point cloud
plotCameraPlot camera in 3-D coordinates
showExtrinsicsVisualize extrinsic camera parameters
showReprojectionErrorsVisualize calibration errors
stereoAnaglyphCreate red-cyan anaglyph from stereo pair of images
estimateExtrinsicsCalculate location of calibrated camera (Since R2022b)
extr2poseConvert extrinsics to camera pose (Since R2022b)
pose2extrConvert camera pose to extrinsics (Since R2022b)
estrelposeCalculate relative rotation and translation between camera poses (Since R2022b)
rotmat2vec3dConvert 3-D rotation matrix to rotation vector (Since R2022b)
rotvec2mat3dConvert 3-D rotation vector to rotation matrix (Since R2022b)
cameraIntrinsicsToOpenCVConvert camera intrinsic parameters from MATLAB to OpenCV (Since R2021b)
cameraIntrinsicsFromOpenCVConvert camera intrinsic parameters from OpenCV to MATLAB (Since R2021b)
stereoParametersToOpenCVConvert stereo camera parameters from MATLAB to OpenCV (Since R2021b)
stereoParametersFromOpenCVConvert stereo camera parameters from OpenCV to MATLAB (Since R2021b)

Topics

Featured Examples