主要内容

cameraMatrix

(不推荐)摄像机投影矩阵

cameraMatrix不推荐使用。使用cameraProjection函数来代替。有关更多信息,请参见兼容性的考虑

描述

camMatrix= cameraMatrix (cameraParamstform返回一个4 × 3的摄像机投影矩阵camMatrix,它可以用齐次坐标将三维世界中的点投影到图像中。cameraParams可以是cameraParameters对象或cameraIntrinsics对象。

例子

camMatrix= cameraMatrix (cameraParamsrotationMatrixtranslationVector返回一个4 × 3的摄像机投影矩阵。您可以使用该矩阵将三维世界的点以齐次坐标投影到图像中。

例子

全部折叠

创建一组校准图像。

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

检测图像中的棋盘角。

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

在以图案为中心的坐标系中生成棋盘角的世界坐标,左上角为(0,0)。正方形的大小以毫米为单位。

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

校准照相机。

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

在新位置加载图像。

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

图包含一个轴对象。标题为Input Image的axes对象包含一个Image类型的对象。

Undistort形象。

im = undistortImage(imorigin,cameraParams);

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

[imagePoints,boardSize] = detectCheckerboardPoints(im);

计算新的外部属性。

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

计算相机矩阵

P = cameraMatrix(cameraParams,rotationMatrix,translationVector)
P =4×3105× 0.0157 -0.0271 0.0000 - 0.0404 -0.0046 - 0.0199 0.0387 0.0000 8.9399 9.4399 0.0072

输入参数

全部折叠

摄像机参数,指定为acameraParameterscameraIntrinsics对象。你可以把cameraParameters对象。estimateCameraParameters函数。的cameraParameters对象包含相机的内在、外在和镜头畸变参数。

从世界坐标到相机坐标的转换,指定为arigid3d对象。你可以使用外在函数来获取旋转和平移以创建tform对象。

摄像机的旋转,指定为3 × 3矩阵。你可以用外在函数。也可以使用relativeCameraPose函数的转置取向输出。的rotationMatrixtranslationVector输入必须是实的、非稀疏的,并且属于同一类。

摄像机的平移,指定为1 × 3向量。平移向量描述了从世界坐标到相机坐标的转换。你可以用外在函数。你也可以用位置取向的输出relativeCameraPose功能:

  • translationVector= -relativeLocation*relativeOrientation”

translationVector输入必须是实的、非稀疏的,并且属于同一类。

输出参数

全部折叠

相机投影矩阵,返回为4 × 3矩阵。矩阵包含以齐次坐标投影到图像中的三维世界点。当你设定rotationMatrixtranslationVector,函数返回camMatrix作为。否则它会返回camMatrix作为

函数计算camMatrix如下:

camMatrix= (rotationMatrixtranslationVectorK
K:内禀矩阵

然后,使用相机矩阵和齐次坐标,您可以将世界点投影到图像上。

w×[xy,1] = [XYZ1)×camMatrix

XYZ):点的世界坐标
xy):对应图像点的坐标
w:任意比例因子

数据类型:|

扩展功能

版本历史

在R2014b中引入

全部展开

Baidu
map