Machine Vision  v1.2.13
mvCameraConfiguration Struct Reference

Camera calibration parameters. This information could come from any calibration procedure including the CAC feature within this library. More...

#include <mv.h>

Detailed Description

Camera calibration parameters. This information could come from any calibration procedure including the CAC feature within this library.

The pixel coordinate space [u, v] has the origin [0, 0] in the upper-left image corner. The u-axis runs towards right along the row in memory address increasing order, and the v-axis runs downward along the column also in memory address increasing order but with a stride length equal to the row width.

The camera coordinate system [x, y, z] is centered on the camera principle point. The positive x-axis of the camera points from the center principle point along that row of pixels [u]. The y-axis points down from the camera center along a column of pixels [v]. The z-axis points directly out along the optical axis in the direction that the camera is pointing.

NOTE: This is the same coordinate system used by OpenCV.

Parameters
pixelWidthWidth of the image in pixels.
pixelHeightHeight of the image in pixels.
memoryStrideMemory width in bytes to the same pixel one row below.
uvOffsetOptional memory offset to UV plane for NV21 images. Note, this is the U and V color planes of the NV21 format and not to be confused with the u and v axes in image space.
principalPoint[2]Principal point [u, v] in pixels is defined relative to camera origin in pixel space where [0, 0] is the upper-left image corner, u runs towards right along the row, and v runs downward along the column.
focalLength[2]Focal length expressed in pixels and as separate components along the image [width, height]. These components are aligned with the [u, v] axes of the principalPoint[2].
distortionDistortion coefficients. All unused array elements must be set to 0. distortion[0] would be equivalent to k1 in OpenCV or the constant a in the fisheye paper, distortion[1] would be k2 or the constant b in the paper, and so on.
distortionModelThe distortion model is limited to the following values:
  • 0 = No distortion model
  • 4 = Four parameter polynomial [k1, k2, p1, p2] plumb-line (a.k.a., Brown-Conrady) model [D. C. Brown, "Photometric Engineering", Vol. 32, No. 3, pp.444-462 (1966)]. Compatible with the oldest Caltech Matlab Calibration Toolbox (http://www.vision.caltech.edu/bouguetj/calib_doc/). To fill from OpenCV, declare cv::Mat for distortions with 5 rows (1 columns), set it to zeros and use flag cv::CALIB_FIX_K3 with cv::calibrateCamera.
  • 5 = Five parameter polynomial [k1, k2, p1, p2, k3] plumb-line model. Compatible with current Matlab toolbox. To fill from OpenCV, declare cv::Mat for distortions with 5 rows, use flag cv::CALIB_FIX_K4 use cv::calibrateCamera.
  • 8 = Eight parameter rational polynomial (\i i.e., CV_CALIB_RATIONAL_MODEL) [k1, k2, p1, p2, k3, k4, k5, k6].
  • 10 = FishEye model [S.Shah, "Intrinsic Parameter Calibration Procedure for a (High-Distortion) Fish-eye Lens Camera with Distortion Model and Accuracy Estimation"]. To fill from OpenCV, use cv::fisheye::calibrate.