cameraParameters

对象,用于存储摄像机参数

描述

cameraParameters对象存储照相机的内在,外在,和透镜畸变的参数。

创建

您可以创建一个cameraParameters对象使用cameraParameters功能描述。您还可以创建一个cameraParameters通过使用对象estimateCameraParameters带着中号逐2逐numImages阵列的输入图像的点。中号在每个图案关键点的坐标的数量。

描述

cameraParams = cameraParameters创建cameraParameters对象,其中包含一个照相机的内在,外在,和透镜畸变的参数。

cameraParams = cameraParameters(名称,值)性能cameraParameters通过使用一个或多个对象名称,值对参数。未指定的属性使用默认值。

cameraParams = cameraParameters(paramStruct创建一个相同的cameraParameters从现有对象cameraParameters与存储在参数对象paramStruct

输入参数

展开全部

立体声参数,指定为立体声参数结构。为了得到一个paramStruct从现有的cameraParameters对象,请使用toStruct功能。

属性

展开全部

内在相机参数:

投影矩阵,指定为3×3的单位矩阵。对象使用用于矩阵格式的格式如下:

[ F X 0 0 小号 F ÿ 0 C X C ÿ 1 ]

该坐标 [CXCÿ]表示的光学中心(主点),以像素为单位。当。。。的时候Xÿ轴是完全垂直,偏斜参数,小号, 等于0

FX=F*小号X
Fÿ=F*小号ÿ
F,是焦距世界单位,通常以毫米表示。
[小号X小号ÿ]是在每单位世界的像素数Xÿ方向分别。
FXFY以像素为单位表示。

此属性是只读的。

相机内部函数的对象,表示为cameraIntrinsics宾语。所述对象包含关于照相机的内在校准参数,包括透镜失真信息。

依赖

您必须提供的图像尺寸(使用图片大小属性)的内部函数属性为非空。相机参数的内部函数取决于图像大小。

图像尺寸,指定为一个两元素矢量mrowsNCOLS]。

摄像机镜头畸变:

径向失真系数,指定为一个二或三元素向量。当您指定一个两个元素的矢量,对象设置第三个元素0。当光线弯曲更靠近比他们在其光学中心做透镜的边缘发生径向扭曲。该透镜越小,失真越大。相机参数对象计算点的径向失真的位置。你可以表示扭曲点为(X扭曲ÿ扭曲), 如下:

X扭曲=X(1 +ķ1*[R2+ķ2*[R4+ķ3*[R6

ÿ扭曲=ÿ(1 +ķ1*[R2+ķ2*[R4+ķ3*[R6

Xÿ=未失真的像素位置
ķ1ķ2ķ3透镜的径向=畸变系数
[R2=X2+ÿ2.通常
,两个系数就足够了。对于严重的失真,可以包括ķ 3。未失真的像素位置出现在归一化的图像坐标,以在光学中心为原点。坐标是世界单位表示。

切向畸变系数,指定为两元素矢量。当透镜和图像平面不平行发生切向畸变。照相机参数计算对象的点的切线失真位置。你可以表示扭曲点为(X扭曲ÿ扭曲)。未失真的像素位置出现在归一化的图像坐标,以在光学中心为原点。坐标是世界单位表示。

当透镜和图像平面不平行发生切向畸变。切向畸变系数模拟这种类型的失真。

所述失真点被表示为(X扭曲ÿ扭曲):

X扭曲=X+ [2 *p1*X*ÿ+p2*([R2+ 2 *X2)]

ÿ扭曲=ÿ+ [p1*([R2+ 2 *ÿ2)+ 2 *p2*X*ÿ]

  • Xÿ- 无失真的像素位置。Xÿ在标准化的图像坐标。标准化图像坐标是从像素坐标通过平移的光学中心和以像素为单位由焦距除以计算。从而,Xÿ是无量纲的。

  • p1p2- 镜片的切向畸变系数。

  • [R2X2+ÿ2

外部照相机参数:

3-d旋转矩阵,指定为3×3逐PP图案图像的数目。每个3×3矩阵表示相同的3-d旋转作为对应的矢量。

下面的等式提供了涉及一个世界在棋盘帧坐标[转化Xÿž]和相应的图像点[Xÿ]:

小号 [ X ÿ 1 ] = [ X ÿ ž 1 ] [ [R Ť ] ķ

[R是3-d旋转矩阵。
Ť是平移向量。
ķ是个IntrinsicMatrix
小号是一个标量。
这个公式没有考虑失真考虑。该undistortImage功能消除失真。

3-d旋转向量,指定为P-by-3含有基质P旋转向量。每个矢量描述摄像机图像平面相对于所述相应的校准图案的3-d转动。矢量指定的3-d围绕其旋转相机,其中,大小为以弧度为单位的旋转角度。该RotationMatrices属性提供相应的3- d旋转矩阵。

相机翻译,指定为P-by-3矩阵。这个矩阵包含了翻译载体P图片。该载体含估计所述校准参数校准图案。所述矩阵的每一行包含描述相对于相机到相应的图案,在世界单位表示的翻译的载体。

下面的等式提供了涉及一个世界在棋盘帧坐标[转化Xÿž]和相应的图像点[Xÿ]:

小号 [ X ÿ 1 ] = [ X ÿ ž 1 ] [ [R Ť ] ķ

[R是3-d旋转矩阵。
Ť是平移向量。
ķ是个IntrinsicMatrix
小号是一个标量。
这个公式没有考虑失真考虑。该undistortImage功能消除失真。

为确保旋转向量的数量等于平移向量的数量,设置RotationVectorsTranslationVectors在构造函数的性质。设置只有一个属性,但不是一个错误的其他结果。

估计相机参数精度:

重新投影和检测点之间的平均欧几里得距离,指定为以像素为单位的数值。

估计相机参数的精度,指定为中号逐2逐P[阵列Xÿ]坐标。在[Xÿ]坐标表示在翻译Xÿ的重新投影的图案的关键点和检测到的图案的关键点之间。此属性的值表示所述估计的摄像机参数的准确性。P是,估计相机参数图案的图像的数量。中号是在每个图像中的关键点的数目。

世界点重新投影到校正图像,指定为中号逐2逐P[阵列Xÿ]坐标。P是图案的图像的数量和中号是在每个图像中的关键点的数目。

对于摄像机参数推断设置:

校正图案数量估计相机外部参数,指定为整数。校正图案的数量等于平移和旋转向量的数量。

校准模式的关键点的世界坐标,指定为中号-by-2阵列。中号表示在图案的关键点的数量。

世界点为单位,指定为矢量字符或字符串标量。值描述的度量单位。

估计偏斜标志,指定为逻辑标量。当您设置的逻辑来真正时,对象估计图像轴歪斜。当您设置的逻辑来中,图像轴线精确地垂直。

径向失真系数的数目,指定为号码“2' 要么 '3”。

估计切向畸变标志,指定为逻辑标真正要么。当您设置的逻辑来真正中,对象估计的切向变形。当您设置的逻辑来,切向变形可以忽略不计。

例子

全部收缩

使用相机校准功能,从图像中移除失真。这个例子创建一个vision.cameraParameters手动对象,但在实践中,你可以使用estimateCameraParameters或相机校准应用导出对象。

创建一个vision.cameraParameters手动对象。

IntrinsicMatrix = [715.2699 0 0;0 711.5281 0;565.6995 355.3466 1];radialDistortion = [-0.3361 0.0921];cameraParams = cameraParameters('IntrinsicMatrix',IntrinsicMatrix,'RadialDistortion',radialDistortion);

从图像中移除失真。

I = imread(完整文件(matlabroot,'工具箱''视力''visiondata''校准''单核细胞增多症''image01.jpg'));J = undistortImage(I,cameraParams);

显示原始和图像不变形。

数字;imshowpair(imresize(I,0.5),imresize(J,0.5),'剪辑');标题(“原始图像(左)与修正后的图像(右)”);

参考

[1]张,Z.“摄像机标定的柔性新技术”。IEEE交易模式分析与机器智能卷。22,第11期,第1330年至1334年,2000。

[2] Heikkila,J,和O. Silven。“四步相机校准步骤与隐图象校正”,IEEE国际计算机视觉与模式识别,1997年。

扩展功能

介绍了在R2014a