Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

fisheyeParameters

Object for storing fisheye camera parameters

Description

The fisheyeParameters object is used to store fisheye camera parameters. Use estimateFisheyeParameters to estimate parameters using calibration images.

Creation

Syntax

fisheyeParams = fisheyeParameters(intrinsics)
fisheyeParams = fisheyeParameters(intrinsics,Name,Value)

Description

example

fisheyeParams = fisheyeParameters(intrinsics) returns an object that contains intrinsic and extrinsic parameters of a fisheye camera. intrinsics must be a fisheyeIntrinsics object. This syntax sets the Intrinsics property of the object.

fisheyeParams = fisheyeParameters(intrinsics,Name,Value) configures the fisheyeParams object properties using one or more Name,Value pair arguments. Enclose the property name in single quotes. Unspecified properties have their default values. For example, 'WorldUnits','m' sets the world units to 'm'.

Properties

expand all

Intrinsic Camera Parameters

Fisheye intrinsic camera parameters, specified as a fisheyeIntrinsics object.

Extrinsic Camera Parameters

Camera rotations, specified as an M-by-3 matrix. The matrix contains rotation vectors for M images, where each image contains the calibration pattern that estimates the calibration parameters. Each row of the matrix contains a vector that describes the 3-D rotation of the camera relative to the corresponding pattern.

Each vector specifies the 3-D axis about which the camera is rotated. The magnitude of the vector represents the angle of rotation in radians. You can convert any rotation vector to a 3-by-3 rotation matrix using the Rodrigues formula.

To ensure that the number of rotation vectors equals the number of translation vectors, you must set the RotationVectors and TranslationVectors properties together when creating the object. Setting only one property results in an error.

Camera translations, specified as an M-by-3 matrix. This matrix contains translation vectors for M images. The vectors contain the calibration pattern that estimates the calibration parameters. Each row of the matrix contains a vector that describes the translation of the camera relative to the corresponding pattern, expressed in world units.

To ensure that the number of rotation vectors equals the number of translation vectors, you must set the RotationVectors and TranslationVectors properties together when creating the object. Setting only one property results in an error.

Accuracy of Estimated Camera Parameters

Reprojection errors, specified as an M-by-2-by-P array of [x,y] pairs. The [x,y] pairs represent the translation in x and y between the reprojected pattern keypoints and the detected pattern keypoints.

Settings Used to Estimate Camera Parameters

Number of calibration patterns used to estimate camera extrinsics, specified as an integer. The number of calibration patterns must equal the number of translation and rotation vectors.

World coordinates of key points on the calibration pattern, specified as an M-by-2 matrix. M represents the number of key points in the pattern.

World point units, specified as the comma-separated pair consisting of 'WorldUnits' and a character vector representing units. This argument is used simply to store the unit type and does not affect any calculations. Any character vector is valid.

Estimate axes alignment, specified as false or true. Set to true if the optical axis of the fisheye lens is not perpendicular to the image plane.

Examples

expand all

Create a fisheye parameters object by specifying the properties manually. Alternatively, you can create this object using the estimateFisheyeParameters function.

Specify fisheye intrinsics.

 mappingCoefficients = rand(1,4);
 distortionCenter = [320 240];
 imageSize = [480 640];
 intrinsics = fisheyeIntrinsics(mappingCoefficients,imageSize,distortionCenter);

Create a fisheyeParameters object using the specified intrinsics.

 params = fisheyeParameters(intrinsics);

References

[1] Scaramuzza, D., A. Martinelli, and R. Siegwart. "A Toolbox for Easy Calibrating Omindirectional Cameras." Proceedings to IEEE International Conference on Intelligent Robots and Systems (IROS 2006). Beijing, China, October 7–15, 2006.

[2] Urban, S., J. Leitloff, and S. Hinz. "Improved Wide-Angle, Fisheye and Omnidirecitonal Camera Calibration." ISPRS Journal of Photogrammetry and Remove Sensing. Vol. 108, 2015, pp.72–79.

Introduced in R2017b