estimateMonoCameraParameters
语法
描述
(
单眼相机的外参数估计使用相机和棋盘的固有参数校准模式。返回的外在参数定义偏航,音高和辊之间的旋转角度摄像机坐标系统和车辆坐标系轴。这个函数也返回相机离地面的高度。指定的内在参数,图像和棋盘角点的世界坐标,和棋盘图案的起源的高度高于地面。球场
,偏航
,卷
,高度
)= estimateMonoCameraParameters (intrinsic
,imagePoints
,worldPoints
,patternOriginHeight
)
默认情况下,函数假设摄像机是朝前,棋盘模式与地面平行。所有可能的相机和棋盘,看到校准单眼相机。
例子
配置单眼相机使用棋盘模式
配置一个单眼鱼眼相机通过消除镜头畸变,然后估计摄像机的外部参数。使用一个棋盘的形象作为校准模式。更详细的看看如何配置一个单眼相机,鱼眼镜头,看到配置单眼鱼眼相机的例子。
负载的固有参数鱼眼镜头的单眼相机。intrinsic
是一个fisheyeIntrinsics
对象。
ld =负载(“fisheyeCameraIntrinsics”);intrinsic = ld.intrinsics;
加载图像的棋盘图平放在地上。这张照片是用于说明目的,不是从一个摄像头安装在车辆上。相机安装在车辆上,X设在模式的点右边的车辆,和Y设在模式点的相机。显示图像。
imageFileName = fullfile (toolboxdir (“开车”),“drivingdata”,“checkerboard.png”);I = imread (imageFileName);imshow(我)
检测图像中的棋盘角的坐标。
[imagePoints, boardSize] = detectCheckerboardPoints(我);
生成相应的角落的世界坐标。
squareSize = 0.029;%平方大小米worldPoints = generateCheckerboardPoints (boardSize squareSize);
估计所需的外部参数配置monoCamera
对象。因为棋盘模式直接在地面上,设置模式的起源的高度为0。
patternOriginHeight = 0;(音高、偏航、卷、高度)= estimateMonoCameraParameters (intrinsic,…imagePoints、worldPoints patternOriginHeight);
因为monoCamera
不接受fisheyeIntrinsics
对象,去除图像和失真计算新的内在参数无畸变的图像。camIntrinsics
是一个cameraIntrinsics
对象。显示图像确认失真。
[undistortedI, camIntrinsics] = undistortFisheyeImage (intrinsic,我“输出”,“全部”);imshow (undistortedI)
配置使用估计的单眼相机参数。
monoCam = monoCamera (camIntrinsics、身高、“节”球场上,“偏航”偏航,“滚”卷)
monoCam = monoCamera属性:intrinsic: [1 x1 cameraIntrinsics] WorldUnits:“米”高度:0.4447节距:21.8459偏航:-3.6130卷:-3.1707 SensorLocation: [0 0]
配置单眼相机使用圆网格模式并生成鸟瞰图
配置一个单眼相机使用圆网格模式,然后估计摄像机的外部参数。使用非对称圆网格的图像作为校准模式。
负载的固有参数单眼相机。intrinsic
是一个cameraIntrinsics
对象。
ld =负载(“IRCameraIntrinsics”);intrinsic = ld.intrinsics;
加载图像的不对称圆网格模式,平行于地面放置在一个高度。这张照片是用于说明目的,不是从一个摄像头安装在车辆上。相机安装在车辆上,X设在模式的点右边的车辆,和Y设在模式点的相机。显示图像。
imageFileName = fullfile (toolboxdir (“愿景”),“visiondata”,…“校准”,“circleGrid”,“立体”,“左”,“left07.jpg”);I = imread (imageFileName);imshow(我)
定义圆网格图形尺寸和检测图像中的圆的中心。
patternDims = 11 [4];imagePoints = detectCircleGridPoints(我patternDims);
生成相应的角落的世界坐标。
centerDistance = 0.0365;%在米中心到中心的距离worldPoints = generateCircleGridPoints (patternDims centerDistance);
估计所需的外部参数配置monoCamera
对象。因为棋盘图放置在1.2米的高度从地面设置模式的起源的高度1.2米。
patternOriginHeight = 1.2;(音高、偏航、卷、高度)= estimateMonoCameraParameters (intrinsic,…imagePoints、worldPoints patternOriginHeight);
配置使用估计的单眼相机参数。
monoCam = monoCamera (intrinsic、身高、“节”球场上,“偏航”偏航,“滚”卷)
monoCam = monoCamera属性:intrinsic: [1 x1 cameraIntrinsics] WorldUnits:“米”高度:1.3869节距:60.2886偏航:-26.5963卷:-45.7440 SensorLocation: [0 0]
定义该地区在镜头面前,你想变成鸟瞰。从0到2.5米设置一个区域在镜头面前,以1.75米的相机。
bottomOffset = 0;distAhead = 2.5;spaceToOneSide = 1.75;官样文章= [bottomOffset distAhead、-spaceToOneSide spaceToOneSide);
输出图像的宽度设置为250像素。计算输出长度自动从宽度通过设置长度南
。
outImageSize =(南,250年);
创建一个对象来执行鸟瞰图变换,使用前面定义的参数。
宰= birdsEyeView (monoCam官样文章,outImageSize);
将输入图像转换为一个鸟瞰图形象和显示结果。
贝福= transformImage(宰,我);imshow (BEV)
输入参数
intrinsic
- - - - - -内在的相机参数
cameraIntrinsics
对象|fisheyeIntrinsics
对象
内在相机参数,指定为一个cameraIntrinsics
或fisheyeIntrinsics
对象。
棋盘模式图像由这些摄像机可以包括透镜畸变,从而影响角点检测的准确性。去除透镜畸变,计算新的内在参数,使用这些功能:
为
cameraIntrinsics
对象,使用undistortImage
。为
fisheyeIntrinsics
对象,使用undistortFisheyeImage
。
imagePoints
- - - - - -图像棋盘角点的坐标
米2矩阵
图像坐标的棋盘角点,指定为一个米2的矩阵米的数量(xy)向量。这些点必须来自一个图像被单眼相机。检测这些点在一个图像,使用detectCheckerboardPoints
函数。
estimateMonoCameraParameters
假设所有的点worldPoints
在(XP,YP)平面,米大于或等于4。指定的高度(XP,YP)飞机离地面,使用patternOriginHeight
。
数据类型:单
|双
worldPoints
- - - - - -世界在棋盘角点的坐标
米2矩阵
棋盘角点的世界坐标,作为指定米2的矩阵米的数量(xy)向量。
estimateMonoCameraParameters
假设所有的点worldPoints
在(XP,YP)平面,米大于或等于4。指定的高度(XP,YP)飞机离地面,使用patternOriginHeight
。
点(0,0)对应于右下角左上的广场的棋盘。
数据类型:单
|双
patternOriginHeight
- - - - - -高度的棋盘模式的起源
非负实数
离地面高度棋盘模式的起源,指定为一个非负实数。原点的右下角是左上的棋盘的广场。
测量patternOriginHeight
取决于棋盘模式的方向,如这些图所示。
水平方向 | 垂直方向 |
---|---|
|
|
指定的模式定位、使用“PatternOrientation”
名称-值对。如果你设置“PatternOrientation”
来“水平”
(默认),模式是在地面上,然后设置patternOriginHeight
来0
。
数据类型:单
|双
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“PatternOrientation”、“垂直”、“PatternPosition”,“对”
PatternOrientation
- - - - - -棋盘模式的取向
“水平”
(默认)|“垂直”
棋盘模式的取向相对于地面,指定为逗号分隔组成的“PatternOrientation”
和下列之一:
“水平”
——棋盘模式是平行于地面。“垂直”
——棋盘模式是垂直于地面。
PatternPosition
- - - - - -棋盘状图案的位置
“前面”
(默认)|“回来”
|“左”
|“对”
棋盘状图案的位置相对于地面,指定为逗号分隔组成的“PatternPosition”
和下列之一:
“前面”
——棋盘模式是在汽车的前面。“回来”
——棋盘模式是在车后面。“左”
——棋盘图左边的车。“对”
——车辆的棋盘模式是正确的。
输出参数
球场
——螺旋角
真正的标量
偏航
- - - - - -偏航角
真正的标量
卷
——横摇角
真正的标量
高度
——垂直高度从地面到相机
非负实数
垂直高度从地面到相机的焦点,世界作为一个非负实数返回单位,如米。
更多关于
车辆坐标系
在车辆坐标系(XV,YV,ZV)定义为一个monoCamera
对象:
的XV设在指向前方的车辆。
的YV设在指向左边,面朝前时查看。
的ZV设在分从地面保持右手坐标系。
默认情况下,这个坐标系统的起源是在路面上,直接在相机中心(相机的焦点)。
获得更可靠的结果estimateMonoCameraParameters
,棋盘模式必须放置在准确的位置相对于这个坐标系统。更多细节,请参阅校准单眼相机。
角方向
单眼相机传感器使用顺时针正角方向时的正方向Z- - - - - -,Y- - - - - -,X分别相互重合。
版本历史
介绍了R2018b
Abrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。