一个单眼相机是在自动驾驶应用中使用的视觉传感器的常见类型。当安装在自主车辆,这种相机可检测的物体,检测车道边界,并通过一个场景跟踪物体。
在可以使用的镜头,就必须进行校准。摄像机标定估计是使用校准图案的图像,如棋盘照相机的内在和外在参数的过程。你估计的内在和外在参数后,就可以使用它们来配置一个单眼相机的典范。
该内在参数照相机的是相机的性能,例如它的焦距和光学中心。估计这些参数的单眼相机,用一个棋盘图案的计算机视觉工具箱™功能和图像。
如果相机有一个标准镜头,使用estimateCameraParameters
功能。
如果相机有一个鱼眼镜头,可使用estimateFisheyeParameters
功能。
另外,为了更好地可视化效果,请使用相机校准应用程序。有关设置相机,准备在棋盘图案,和校准技术的信息,请参阅单相机校准应用(计算机视觉工具箱)。
对于单目摄像机安装在车辆上,所述外部参数定义照相机的安装位置。这些参数包括相机的旋转角与系统相对于车辆的坐标,照相机在地面上方的高度。
在可以预计的外部参数,则必须从摄像机捕获棋盘图案的图像。使用相同的棋盘图案,你用来估计固有参数。
棋盘使用图案为中心的坐标系(XP,ÿP),其中XP- 轴指向右边,ÿP- 轴百分点。棋盘起源是棋盘的左上角方形的右下角。
当将棋盘图案相对于所述车辆,所述XP- 和ÿP-axes必须与对齐XV- 和ÿV-axes车辆。另外,在车辆坐标系中,XV前锋 - 轴点从车辆和ÿV- 轴指向左边,因为朝前时查看。原点是在道路表面上,正下方的照相机中心(摄像机的焦点)。
图案的取向可以是水平或垂直。
在水平方向,棋盘图案或者是在地面上或平行于地面。您可以将模式在车辆前方,在车辆的后面,或者在车辆的左侧或右侧。
在垂直方向,棋盘图案是垂直于地面。您可以将模式在车辆前方,在车辆的后面,或者在车辆的右侧的左侧。
放置在棋盘您想要的位置后,使用单眼相机捕捉它的形象。然后,使用estimateMonoCameraParameters
函数来估计外部参数。要使用此功能,您必须指定以下内容:
相机的内部参数
的关键点在图像中检测到的,在这种情况下,棋盘正方形的角部
棋盘的世界点
在地面上的棋盘图案的起源的高度
例如,对于图像一世
和内在的参数内联函数
下面的代码估计的外部参数。默认,estimateMonoCameraParameters
假定相机朝前并且该棋盘图案具有水平的取向。
[imagePoints,boardSize] = detectCheckerboardPoints(I);squareSize = 0.029;%的米见方大小worldPoints = generateCheckerboardPoints(boardSize,squareSize);patternOriginHeight = 0;%Pattern是在地面上[俯仰,偏转辊,高度] = estimateMonoCameraParameters(内在,...imagePoints,worldPoints,patternOriginHeight);
为了提高这些参数,捕获多个图像的估计精度和平均图像点的值。
一旦你的估计内在和外在的参数,你可以使用monoCamera
反对将相机的典范。以下示例代码示出了如何使用参数配置摄像机内联函数
,高度
,沥青
,偏航
和滚
:
monoCam = monoCamera(内在,高度,'沥青',沥青,'偏航',偏航,'滚',滚);
detectCheckerboardPoints
|estimateCameraParameters
|estimateFisheyeParameters
|estimateMonoCameraParameters
|generateCheckerboardPoints