文档

外在

计算标定相机的位置

描述

例子

rotationMatrixtranslationVector) =外在(imagePointsworldPointscameraParams返回3-D旋转矩阵和3-D平移向量,以允许您将点从世界坐标转换为摄像机坐标系。

例子

全部折叠

创建一组校准图像。

图像= imageDatastore (fullfile (toolboxdir (“愿景”),“visiondata”...“校准”“单反”));

检测图像中的棋盘角。

[imagePoints, boardSize] = detectCheckerboardPoints (images.Files);

在以模式为中心的坐标系中生成棋盘角的世界坐标,左上角位于(0,0)。正方形的尺寸以毫米为单位。

squareSize = 29;worldPoints = generateCheckerboardPoints(boardSize, squareSize);

校准相机。

I = readimage(图片1);imageSize = [size(I,1), size(I,2)];cameraParams = estimateCameraParameters (imagePoints worldPoints,...“图象尺寸”、图象尺寸);

在新位置加载图像。

imOrig = imread (fullfile (matlabroot“工具箱”“愿景”“visiondata”...“校准”“单反”“image9.jpg”));图imshow (imOrig);标题(输入图像的);

Undistort形象。

[im, newOrigin] = undistortImage (imOrig cameraParams,“OutputView”“全部”);

在新图像中查找参考对象。

[imagePoints, boardSize] = detectCheckerboardPoints (im);

补偿图像坐标系的偏移。

imagePoints = [imagePoints(:,1) + newOrigin(1),...imagePoints (:, 2) + newOrigin (2)];

计算新的外在。

[rotationMatrix, translationVector] = extrinsics(...imagePoints、worldPoints cameraParams);

计算相机的姿势。

[orientation, location] = extrinsicsToCameraPose(rotationMatrix,...translationVector);图plotCamera (“位置”、位置、“定位”取向,“大小”, 20);持有pcshow ([worldPoints, 0(大小(worldPoints, 1), 1)),...“VerticalAxisDir”“下来”“MarkerSize”, 40);

输入参数

全部折叠

点的图像坐标,指定为2数组。该数组包含的数量(xy)坐标。的imagePoints而且worldPoints输入必须是或者两者都是

数据类型:|

对应于图像坐标的世界坐标,指定为2矩阵。的imagePoints而且worldPoints输入必须是或者两者都是.这个函数假设这些点与z= 0和点的个数,,必须至少为4。

数据类型:|

对象,用于存储摄像机参数,指定为cameraParameterscameraIntrinsics,或fisheyeIntrinsics对象。对象返回这些对象estimateCameraParameters函数,estimateFisheyeParameters函数,或相机校准器该对象包含相机的内部、外部和镜头畸变参数。

输出参数

全部折叠

3-D旋转,返回为3 × 3矩阵。旋转矩阵和平移向量允许你将点从世界坐标转换到相机坐标系。

如果你设置imagePoints而且worldPoints输入类,则函数返回rotationMatrix而且translationVector作为.否则,他们是

3-D转换,作为1乘3的向量返回。

如果你设置imagePoints而且worldPoints输入类,则函数返回rotationMatrix而且translationVector作为.否则,他们是

算法

外在函数使用两种不同的算法来计算外部性,取决于是否worldPoints指定为2矩阵。使用一个共面点的-by-2矩阵z= 0。

外在函数计算单幅闭合图像的旋转矩阵和平移向量。在校准过程中,对所有校准图像的外部性进行数值估计,以使重投影误差最小。因此,使用外在函数作用于其中一幅校准图像,返回的旋转矩阵和平移向量与校准过程中得到的略有不同。

扩展功能

介绍了R2014a