主要内容

Cameramatrix.

相机投影矩阵

描述

例子

Cammatrix.= Cameramatrix(Cameraparams.RotationMatrix.翻译部返回一个4×3摄像机投影矩阵。您可以将此矩阵用来将同一坐标中的3-D世界点投影到图像中。

例子

全部收缩

创建一组校准图像。

images = imagedataStore(fullfile(toolboxdir('想象'),'VisionData'......'校准''SLR'));

检测图像中的棋盘角。

[imagePoints,boardsize] =侦探校验erboardpoints(Images.files);

在以图案为中心的坐标系中使用左上角(0,0)生成棋盘角落的世界坐标。方形尺寸为毫米。

Squaresize = 29;WorldPoints = GenerateCheckerboards(BoardSize,Squarize);

校准相机。

i = ReadImage(图像,1);图像zize = [size(i,1),size(i,2)];Cameraparams =估计估计(象育点,WorldPoints)......'图片尺寸',图片尺寸);

在新位置加载图像。

imorig = imread(fullfile(matlabroot,'工具箱''想象''VisionData'......'校准''SLR''image9.jpg'));数字;imshow(imorig);标题('输入图像');

图包含轴。具有标题输入图像的轴包含类型图像的对象。

未破坏图像。

IM = undaytortimage(imorig,cameraparams);

在新图像中查找引用对象。

[imagePoints,BoardSize] =侦探校验erboardPoints(IM);

计算新的外在学。

[RotationMatrix,TranslationVector] =外在(......图像点,世界点,CameraParams);

计算相机矩阵

p = cameramatrix(Cameraparams,RotationMatrix,TranslationVector)
P =4×310.5.×0.0157 -0.0271 0.0000 0.0404 -0.0046 -0.0000 0.0199 0.0387 0.0000 8.9399 9.4399 0.0072

输入参数

全部收缩

相机参数,指定为aCameraparameters.或者摄像头目的。你可以返回Cameraparameters.对象使用估计估计功能。这Cameraparameters.对象包含相机的内在,外在和镜头失真参数。

相机的旋转,指定为3×3矩阵。您可以使用使用此矩阵外在功能。您还可以使用使用矩阵relativecamerapose.通过丢失它的功能方向输出。这RotationMatrix.翻译部输入必须是真实的,非问题和同一类的。

相机的翻译,指定为1×3矢量。翻译传染媒介描述了世界与相机坐标坐标的转换。您可以使用使用此载体外在功能。您也可以使用使用的矢量地点方向输出的relativecamerapose.功能:

  • 翻译部= -相对位置*相对机构'

翻译部输入必须是真实的,非问题和同一类的。

输出参数

全部收缩

摄像机投影矩阵,返回为4×3矩阵。矩阵包含在将图像中投射到图像中的同质坐标中的3-D世界点。当你设置时RotationMatrix.翻译部双倍的,函数返回Cammatrix.作为双倍的。否则返回Cammatrix.作为单身的

功能计算Cammatrix.如下:

Cammatrix.= [RotationMatrix.;翻译部K.
K.:内在矩阵

然后,使用相机矩阵和均匀坐标,您可以将世界指向投影到图像上。

W.×[Xy,1] = [XyZ.,1]×Cammatrix.

XyZ.):一个点的世界坐标
Xy):相应图像点的坐标
W.:任意比例因子

数据类型:单身的|双倍的

扩展能力

在R2014B中介绍