主要内容

stereoParameters

对象,用于存储立体摄像机系统参数

描述

stereoParameters对象存储了两个相机的内在和外在参数以及它们的几何关系。

创建

您可以创建stereoParameters对象使用stereoParameters函数描述如下。您还可以创建一个stereoParameters对象,使用estimateCameraParameters与一个2 -numImages-by-2数组的输入图像点,其中是每个模式中关键点坐标的数目。

描述

例子

立体声参数=立体声参数(cameraParameters1cameraParameters2poseCamera2使用来自两个摄像机的摄像机参数和摄像机2的姿态返回一个立体摄像机系统参数对象。cameraParameters1而且cameraParameters2cameraParameterscameraIntrinsics分别包含相机1和相机2的intrinsic的对象。三个输入参数设置CameraParameters1CameraParameters2,PoseCamera2属性,分别。

立体声参数=立体声参数(paramStruct创建一个相同的stereoParameters对象从现有的stereoParameters对象中存储参数的paramStruct

输入参数

全部展开

立体声参数,指定为立体声参数结构。为了得到一个paramStruct从现有的stereoParameters对象时,使用toStruct函数。

属性

全部展开

两个相机的内在和外在参数

摄像机1的参数,指定为acameraParameters对象。该对象包含相机的内在、外在和镜头畸变参数。

摄像机2的参数,指定为acameraParameters对象。该对象包含相机的内在、外在和镜头畸变参数。

两个摄像机之间的几何关系

第二摄像机的相对姿态,指定为arigidtform3d对象。的R翻译物体的属性分别表示摄像机1和摄像机2之间的相对旋转和平移。它们使用以下方法将摄像机2坐标转换回摄像机1坐标:

orientation1 = orientation2 * R location1 = orientation2 * Translation + location2
orientation1而且location1表示摄像机1的绝对姿态,和orientation2而且location2表示摄像机2的绝对姿态。

摄像机2显示在摄像机1的坐标系中,轴原点在摄像机1的光学中心。

的值不能设置PoseCamera2在创建stereoParameters对象。

基本矩阵,存储为3 × 3矩阵。基本矩阵将两个立体摄像机联系起来,因此,下式必须成立:

P 1 1 F u n d 一个 e n t 一个 l 一个 t r x P 2 1 0

P1,图像1中的点对应于,P2,见图2。这两个点都用像素坐标表示。

基本矩阵,存储为3 × 3矩阵。本质矩阵是两个立体摄像机之间的关系,因此,下式必须成立:

P 1 1 E 年代 年代 e n t 一个 l 一个 t r x P 2 1 0

P1,图像1中的点对应于P2为图2中的点。这两个点都表示在归一化的图像坐标,其中原点是在相机的光学中心。的x而且y像素坐标由焦距归一化fx而且fy

估计参数的准确性

在所有图像对上,重投影点和检测点之间的平均欧几里得距离,以像素为单位。

相机参数估计设置

用于估计两个摄像机外部参数的校准模式数,存储为整数。

校准图中关键点的世界坐标,以2数组。表示模式中关键点的数量。

世界点数单位,指定为字符向量。字符向量描述度量单位。

对象的功能

toStruct 将立体参数对象转换为结构体

例子

全部折叠

指定校准图像。

leftImages = imageDatastore(fullfile(toolboxdir(“愿景”),“visiondata”...“校准”“立体”“左”));右timages = imageDatastore(fullfile(toolboxdir(“愿景”),“visiondata”...“校准”“立体”“正确”));

检测棋盘。

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

指定棋盘键的世界坐标。正方形的大小以毫米为单位。

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

校准立体摄像系统。两台相机的分辨率相同。

I = readimage(leftImages,1);imageSize = [size(I,1) size(I,2)];params = estimatecamerparameters (imagePoints,worldPoints,...“图象尺寸”、图象尺寸);

可视化校准精度。

showReprojectionErrors (params)

图中包含一个轴对象。标题为Mean Reprojection Error per Image的axis对象包含5个类型为bar, line的对象。这些对象代表相机1,相机2,总体平均误差:0.06像素。

视觉化相机外观。

图showExtrinsics (params)

图中包含一个轴对象。标题为“外部参数可视化”的坐标轴对象包含28个类型为patch、text、line的对象。

参考文献

[1]张,Z。一种灵活的相机定标新技术模式分析与机器智能汇刊22日,没有。11(十一月2000):1330-34。https://doi.org/10.1109/34.888718。

[2]海克拉,J.和O.西尔文。带有隐式图像校正的四步相机校准程序在IEEE计算机学会计算机视觉与模式识别会议论文集, 1106 - 12所示。圣胡安,波多黎各:IEEE计算。Soc, 1997年。https://doi.org/10.1109/CVPR.1997.609468。

扩展功能

版本历史

在R2014a中引入

全部展开