相机内参数和外参数详解(干货)

相机外参数是在世界坐标系中的参数,比如相机的位置、旋转方向等。

相机标定(或摄像机标定):

在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)

相机标定的目的是确定相机的一些参数的值。通常,这些参数可以建立定标板确定的三维坐标系和相机图像坐标系的映射关系,换句话说,你可以用这些参数把一个三维空间中的点映射到图像空间,或者反过来。相机需要标定的参数通常分为内参和外参两部分。外参确定了相机在某个三维空间中的位置和朝向,至于内参,可以说是相机内部的参数(这好像是废话...笑),我觉得需要引入一点光学的东西来更好地解释一下。现有的相机都至少包含一个光学镜头和一个光电传感器(CCD或CMOS)。通过镜头,一个三维空间中的物体经常会被映射成一个倒立缩小的像(当然显微镜是放大的,不过常用的相机都是缩小的),被传感器感知到。

理想情况下,镜头的光轴(就是通过镜头中心垂直于传感器平面的直线)应该是穿过图像的正中间的,但是,实际由于安装精度的问题,总是存在误差,这种误差需要用内参来描述;

理想情况下,相机对x方向和y方向的尺寸的缩小比例是一样的,但实际上,镜头如果不是完美的圆,传感器上的像素如果不是完美的紧密排列的正方形,都可能会导致这两个方向的缩小比例不一致。内参中包含两个参数可以描述这两个方向的缩放比例,不仅可以将用像素数量来衡量的长度转换成三维空间中的用其它单位(比如米)来衡量的长度,也可以表示在x和y方向的尺度变换的不一致性;

理想情况下,镜头会将一个三维空间中的直线也映射成直线(即射影变换),但实际上,镜头无法这么完美,通过镜头映射之后,直线会变弯,所以需要相机的畸变参数来描述这种变形效果。

1).外参数矩阵。告诉你现实世界点(世界坐标)是怎样经过旋转和平移,然后落到另一个现实世界点(摄像机坐标)上。2).内参数矩阵。告诉你上述那个点在1的基础上,是如何继续经过摄像机的镜头、并通过针孔成像和电子转化而成为像素点的。3).畸变矩阵。告诉你为什么上面那个像素点并没有落在理论计算该落在的位置上,还tm产生了一定的偏移和变形!!!

2、摄像机内参、外参矩阵

在opencv的3D重建中(opencv中文网站中:照相机定标与三维场景重建),对摄像机的内参外参有讲解:

外参:摄像机的旋转平移属于外参,用于描述相机在静态场景下相机的运动,或者在相机固定时,运动物体的刚性运动。因此,在图像拼接或者三维重建中,就需要使用外参来求几幅图像之间的相对运动,从而将其注册到同一个坐标系下面来

内参:下面给出了内参矩阵,需要注意的是,真实的镜头还会有径向和切向畸变,而这些畸变是属于相机的内参的。 摄像机内参矩阵:

其中,fx,fy为焦距,一般情况下,二者相等,x0、y0为主点坐标(相对于成像平面),s为坐标轴倾斜参数,理想情况下为0

摄像机外参矩阵:包括旋转矩阵和平移矩阵 旋转矩阵和平移矩阵共同描述了如何把点从世界坐标系转换到摄像机坐标系

旋转矩阵:描述了世界坐标系的坐标轴相对于摄像机坐标轴的方向 平移矩阵:描述了在摄像机坐标系下,空间原点的位置

例:

<leftCameraMatrix type_id='opencv-matrix'>  <rows>3</rows><cols>3</cols><dt>d</dt>  <data>    7.3582167224957209e+002                  0.                                 1.5950000000000000e+002

0.                      7.3582167224957209e+002      1.1950000000000000e+002

0.                                      0.                                                  1.

</data></leftCameraMatrix>

二、 一些疑问

Q1:标定时棋盘格的大小如何设定,对最后结果有没有影响?

A:当然有。在标定时,需要指定一个棋盘方格的长度,这个长度(一般以毫米为单位,如果需要更精确可以设为0.1毫米量级)与实际长度相同,标定得出的结果才能用于实际距离测量。一般如果尺寸设定准确的话,通过立体标定得出的Translation的向量的第一个分量Tx的绝对值就是左右摄像头的中心距。一般可以用这个来验证立体标定的准确度。比如我设定的棋盘格大小为270 (27mm)???,最终得出的Tx大小就是602.8 (60.28mm),相当精确。

Q2:通过立体标定得出的Tx符号为什么是负的?

A:这个其实我也不是很清楚。个人的解释是,立体标定得出的T向量指向是从右摄像头指向左摄像头(也就是Tx为负),而在OpenCV坐标系中,坐标的原点是在左摄像头的。因此,用作校准的时候,要把这个向量的三个分量符号都要换一下,最后求出的距离才会是正的。

但是这里还有一个问题,就是Learning OpenCV中Q的表达式,第四行第三列元素是-1/Tx,而在具体实践中,求出来的实际值是1/Tx。这里我和maxwellsdemon讨论下来的结果是,估计书上Q表达式里的这个负号就是为了抵消T向量的反方向所设的,但在实际写OpenCV代码的过程中,那位朋友却没有把这个负号加进去。(一家之言,求更详细的解释)

Q3:cvFindStereoCorrespondenceBM的输出结果好像不是以像素点为单位的视差?

A:在OpenCV2.0中,BM函数得出的结果是以16位符号数的形式的存储的,出于精度需要,所有的视差在输出时都扩大了16倍(2^4)。其具体代码表示如下:

dptr[y*dstep] = (short)(((ndisp - mind - 1 + mindisp)*256 + (d != 0 ? (p-n)*128/d : 0) + 15) >> 4);

可以看到,原始视差在左移8位(256)并且加上一个修正值之后又右移了4位,最终的结果就是左移4位

因此,在实际求距离时,cvReprojectTo3D出来的X/W,Y/W,Z/W都要乘以16 (也就是W除以16),才能得到正确的三维坐标信息

Q4:利用双摄像头进行测距的时候世界坐标的原点究竟在哪里?

A:世界坐标系的原点是左摄像头凸透镜的光心。

图3. 针孔模型

在实际计算过程中,为了计算方便,我们将像平面翻转平移到针孔前,从而得到一种数学上更为简单的等价形式(方便相似三角形的计算),如图4所示。

图4. 针孔模型的数学等价形式

因此,对应图2就可以知道,世界坐标系原点就是左摄像头针孔模型的针孔,也就是左摄像头凸透镜的光心

Q5:f和d的单位是像素,那这个像素到底表示什么,它与毫米之间又是怎样换算的?

A:这个问题也与针孔模型相关。在针孔模型中,光线穿过针孔(也就是凸透镜中心)在焦距处上成像,因此,图3的像平面就是摄像头的CCD传感器的表面。每个CCD传感器都有一定的尺寸,也有一定的分辨率,这个就确定了毫米与像素点之间的转换关系。举个例子,CCD的尺寸是8mm X 6mm,分辨率是640X480,那么毫米与像素点之间的转换关系就是80pixel/mm。

在实际运用中,我们在数学上将这个像平面等效到小孔前(图4),这样就相当于将在透镜中心点之前假设了一块虚拟的CCD传感器。

Q6:为什么cvStereoRectify求出的Q矩阵cx, cy, f都与原来的不同?

A:这个在前文有提到过。在实际测量中,由于摄像头摆放的关系,左右摄像头的f, cx, cy都是不相同的。而为了使左右视图达到完全平行对准的理想形式从而达到数学上运算的方便,立体 校准所做的工作事实上就是在左右像重合区域最大的情况下,让两个摄像头光轴的前向平行,并且让左右摄像头的f, cx, cy相同。因此,Q矩阵中的值与两个instrinsic矩阵的值不一样就可以理解了。

THE END
0.拍照,新手一定搞懂对焦参数光圈系数和感光度,均由拍摄者手动控制,快门速度由相机控制,适合静止题材拍摄。 四,P程序自动曝光模式 感光度由拍摄者手动控制,相机控制快门速度和光圈系数,适合来不及设置参数时拍摄。 五, A+全自动曝光模式 快门速度、光圈系数和感光度,均由相机自动控制,按下快门就开拍,适合刚开始玩的新手使用。 jvzquC41yy}/onnrkct/ew473hzk:|w
1.关于相机的基础参数知识大学习|像素|景深|焦距|焦镜头|相机|镜头关于相机的基础参数知识大学习 任何的东西从第一批开始使用都是从一些基础的知识学起的,只有基础的知识够了才能够进阶的学习高端知识,相机亦是如此,下面就一起来看看相机的一些基础知识的介绍。 1、感光度(ISO) 胶片对光线的化学反应速度(对光的敏感程度)。jvzquC41o07757hqo1jz1jwvkerf1QR6WI\VE9:75Y>4F7mvon
2.相机参数详解midu相机参数详解 快门: 增益值大,图像感光面积越大,亮度高,就变亮了 过大的增益会导致噪点较多,影响图像质量jvzquC41yy}/ewgnqiy/exr1rgthm~shcp5q1<<;72<50qyon
3.相机主要参数有哪些作用的作用相机主要参数介绍【详解】相机的参数较多,其实每个参数都有它存在的道理。在掌握了相机主要参数的作用之后,并学会如何设置,才能有助于自己得心应手的使用相机,才能拍出令自己满意的照片。下面就带大家去看看相机主要参数的作用吧! 一、焦距 焦距存在的意义即镜头越长看到的东西越远越少,像望远镜,镜头越短看到的东西越多越近。我们一般的拍jvzquC41i0vdqwqkpg4dqv3ep1~04?6135638A870jznn
4.用华为手机拍照,记得使用专业模式,随便拍都能出大片|相机|自动对焦|2.在这个专业模式中,下方有6个参数可以调节,分别为:M-测光模式、ISO-感光度、S-快门速度、EV-曝光补偿、AF-对焦方式、WB-白平衡。 二、了解相机参数 下面我们就来详细了解一下,专业模式的各个参数,都表示什么意思、该如何使用。 1.M-测光模式 根据画面的明暗分布情况,选择多种测光模式,从左到右分别为矩阵测光jvzquC41yy}/3?80eqs0f‚4ctvodnn4IDGNQOB<276;1VQZ0jvsm
5.工业相机镜头参数详解后截距指的是最后一个光学镜片表面的顶点到像面的距离称为后截距,这个参数是可变的,根据拍摄距离远近不同进行调焦,最后一片透镜会伸缩,则该参数值也不同;但此处标注后截距固定值,然后根据观察在调焦时这款相机的最后一片透镜没有伸缩,但调焦是正常的,可能这款相机镜头调焦设计不是符合一般情况吧。又拿另一个厂家jvzquC41dnuh0lxfp0tfv8ht{uzbnh~{ww5bt}neng5eg}fknu524@<52:95
6.了解佳能7d2!佳能7d2参数详解详解佳能7d2参数详解【详解】 说到相机,爱拍照、爱摄影的人肯定再熟悉不过了。每次出去旅游总会看到背着相机的驴友,高山、流水、蓝天、白云、金色沙滩这些美景都定格在他们的相机里。一部好的相机能拍出清晰的色彩鲜艳的画面的同时也是你生活的记录师,将很多美好的瞬间定格成永恒。今天,小编就给大家介绍一款人气很好的jvzq<84rtqjve}3reqtmkwj0eqs/ew4kvdq0lm4zlf5299=1;9772>:0jvsm
7.相机性能参数有哪些相机性能参数介绍详解单以视频功能来说,拍摄时可以进行变焦以及自动对焦功能的相机,实用度会高出不少,而没有自动对焦功能的视频拍摄,其效果有如摄像头一般,仅可以作一般的动态记录,无法完成一些较高要求的拍摄。 小编提醒:如今的相机功能丰富,选购时需要较多关注一下相机五大性能参数,消费者可以依自己的需求以及预算来进行选择,然而诸如像jvzquC41i0vdqwqkpg4dqv3ep1~04?6135638@>80jznn
8.3D球形地图组件地图容器配置详解DataV数据可视化相机距离:相机与地球的距离,距离越大地球显示越小。 自转速度:地球的自转速度,取值范围为0~1,为0时停止自转。 地图交互:打开开关,开启地图交互功能,在预览或发布页面支持鼠标点击和缩放等交互事件。 轮播选项 参数 说明 轮播 打开开关,依次轮播数据面板配置的经纬度数据列表。 动画时间 从一个经纬度移动到下一个经jvzquC41jgrq0jqk{wt/exr1fqivonsvafkucrq136=82A3jvor
9.手机相机专业模式参数详解白平衡,主要调节色温,有好几种模式可以自己调来玩玩。 6. AF(auto focus) 自动对焦,长按可以锁定焦点 AF-C:是连续对焦,适合拍摄移动物体 (C--->constant) AF-S:单次对焦,适合拍摄静止物体 (S--->single) MF:就是手动对焦,利用手动调整对焦环,让拍摄主体清晰,背景根据需要变化景深范围。需要花费时间调整jvzquC41yy}/5?5fqe4dp8ftvkimg879:;=46@d32:=27A>470nuou
10.相机成像原理与工业相机参数详解本文详细介绍了相机成像原理,包括物距与像距的关系,以及不同物距下成像特点。接着,阐述了工业相机的重要参数,如感光芯片(CCD/CMOS)、快门、曝光、增益、感光芯片尺寸、分辨率、帧率等,并解释了它们对成像质量和速度的影响。此外,讨论了相机的数据接口、色彩选择以及触发方式。在相机选型中,强调了考虑检测精度、视野大小jvzquC41dnuh0lxfp0tfv8|gkzooa=7949>:88ftvkimg8igvcomu864:3725A:
11.VRay物理相机参数怎么设置?VRay物理相机参数设置教程VRay物理相机参数设置教程 【VRay怎么入门?怎么使用材质?怎么调节灯光?怎么出效果图?“vray写实渲染入门完整教程”带你快速学会使用VRay】 VR物理相机采用的是现实世界里的相机的设置,有f-stop, 焦距, 快门速度等,用它配合真实世界的灯光类型,比如VR太阳,VR灯和VR天空等,可以快速得到良好的效果。 基本参数 type – jvzquC41yy}/{~yw0et0s~juvkuo1}nygpe299=960nuou
12.镜头参数详解镜头可支持的最大CCD尺寸应大于等于选配相机CCD芯片尺寸。 3 光圈系数(Iris) 其中, 是镜头焦距, 是通光孔的直径。 值越大,光圈越小。相对孔径和光圈系数互为倒数。光圈系数是镜头的重要内部参数,它就是镜头相对孔径的倒数,光圈系数的标称值数字越大,也就表示其实际光圈就越小。一般的厂家都会用F数来表示这一参jvzquC41dnuh0lxfp0tfv8FukouwaUnw1cxuklqg1fkucrqu1989;@876
13.机器视觉系统中的镜头参数详解了解工业镜头的参数 机器视觉系统中,镜头作为机器的眼睛,其主要作用是将目标物体的图像聚焦在图像传感器(相机)的光敏器件上。数据系统所处理的所有图像信息均需要通过镜头得到,镜头的质量直接影响到视觉系统的整体性能。 1.焦距(EFL):透镜中心到像方焦点的距离。jvzquC41dnuh0lxfp0tfv8|gkzooa>67767768ftvkimg8igvcomu86462?:4>=
14.RGB相机与深度相机内参数RGB1045.915881046.39491944.06530542.89044 Depth362.07166362.06795257.70148206.12828 RGB相机与深度相机内参数 2023, 49(1): 116-127. 基于感知注意力和轻量金字塔融合网络模型的室内场景语义分割方法 . 本文全文图片 PLFNet网络结构整体框架 标准残差模块 PLFNet中使用的标准残差模块 jvzquC41lq{spjq0ge{tv7jfw0io1ls1uwvqnnrgpv5c3kj6:8h.5oie/6?3h6g9fh3ceA6g4e:63=h
15.专业相机调整参数后无法直接返回普通模式专业相机调整参数后无法直接返回普通模式 问题现象: 专业相机调整参数后无法直接返回普通模式。 问题原因: 此设计是为了避免调整某一项参数后,因误操作返回普通模式。 解决方案: 专业拍照调整某一项参数后需要确认当前选择,即连续两次点击调整的同一个参数选项才可以返jvzquC41yy}/jrmqpqx/exr1ep5twyuqtv5dqwygpv5{j6hp22:27=631