工业镜头焦距换算 C幅相机拍照 镜头焦距换算为什么要乘以15?本文帮你解开疑惑

小编 2024-10-13 机器视觉 23 0

C幅相机拍照 镜头焦距换算为什么要乘以15?本文帮你解开疑惑

稍微对摄影有点兴趣和研究的朋友,都知道在使用APS-C画幅相机拍摄照片的时候,镜头的焦距要乘上1.5(或1.6,佳能相机)换算成35mm等效焦距,如尼康性价比不错的挂机头 AF-S 24-120mm f/4G ED VR,若用在C画幅相机上,则相应的等效35mm焦距为36-180mm。可能有不少摄友心中会有这样疑惑:为什么要乘上这个系数呢,为什么厂家不直接在产品上标注换算后的焦距呢?本文就为大家解开这个疑惑。

一、为什么将50mm全画幅相机镜头称为标准镜头

习惯上,人们将用于全画幅相机的50mm焦距镜头称为标准镜头,因为用它在全画幅相机上拍摄出来的影像,非常接近于人眼视觉中心的视角范围,其透视关系也接近于人眼所感觉到的,所以能够逼真地再现被摄体的形像。更准确地说,标准镜头 是指焦距长度和所摄画幅的对角线长度大致相等的摄影镜头,其视角一般为45°~50°。

二、相机镜头实质是一个凸透镜

照相机镜头,虽然由很多组、许多的镜片构成(主要是为了提高成像质量,矫正各种色差,畸变等等),但从原理上来说就是一个凸透镜,拍摄对象位于透镜焦距2倍之外,成像传感器位于透镜1-2倍焦距之间,成倒立、缩小的影像,如下图一。

图一:相机成像原理示意图

凸透镜的成像遵从物大像大,物小像小的规律,反映在相同的距离上,高大的景象拍出来的影像也大。

三、不同尺寸传感器与成像视角的关系

了解了镜头的成像原理,我们接下来看看不同画幅相机与镜头焦距对成像视角的影响。为了能直观地定性说明,本人制作了示意图如下(图二,图三),图像下方水平红色框表示全画幅相机传感器,横向尺寸36mm,假定镜头焦距是固定50mm,那么成像的视角约为46°,视角范围用红色线条表示;图中下方水平蓝色框表示APS-C画幅相机传感器,横向尺寸理论上24mm,那么成像的视角约为30°,视角范围用蓝色线条表示。

从图中很明显地看出,因为成像传感器的尺寸差异,导致在镜头相同物理焦距的情况下,成像视角带来的差异,传感器尺寸小,成像视角就小。

图二:不同尺寸传感器与成像视角的关系

四、关于“等效焦距”

有了画幅与成像视角的差异,就对比较不同焦距的镜头带来了困难,所以人们为了方便,就想出了“等效焦距” 这个办法。前面说了,全画幅的50mm镜头是标准的摄影镜头,全画幅传感器的尺寸就是依据使用最多的135胶片相机的尺寸而来的,所以在比较的时候,就以全画幅镜头为参考标准。还以上图为例,假设我们要让C画幅相机拥有与全画幅50mm镜头相同的成像视角,那么直观的来说,传感器与镜头的距离就应该更近一些,如下图三所示,也即相当于镜头的焦距要比50mm更小。

图三:相同成像视角情况下不同画幅相机的焦距不同

从上面图二、图三我们得到直观的定性结果 :在相同镜头焦距的情况下,传感器尺寸大的相机成像视角大,反之传感器尺寸小的相机成像视角小;换一种说法:在成像视角相同的情况下,传感器尺寸小的相机使用的镜头焦距就小,传感器尺寸大的相机使用的镜头焦距就大,这种镜头焦距的差值,表现在量的关系上 就是: 2种镜头焦距的比值等于传感器对角线长度的比值。

因此,等效焦距是指 :某一焦距的镜头用在非全幅相机上,相当于在全画幅相机上,具有相同成像视角的镜头的焦距。

我们知道全画幅相机传感器对角线长 43.27mm。对于C画幅相机,如尼康的DX传感器尺寸为 23.5*15.7mm,对角线长28.26mm,其比值为1.53,所以等效焦距系数取近似值1.5;佳能相机传感器尺寸为 22.3*14.9mm,对角线长 26.82mm,其比值为1.61,等效焦距系数取近似值1.6。

因为等效焦距的换算系数与传感器尺寸有关,等效焦距是一个假设的、不固定值,所以厂家也就不会将其标注在镜头上。对于APS-H画幅相机,1英寸传感器相机,以及手机成像传感器,因为传感器尺寸不同,所以等效焦距也不相同,但计算的方法相同,都等于传感器对角线长度的比值。

图四:全画幅相机镜头焦距与视角的对应关系

工业相机内、外参数的认识

1、相机内参数是与相机自身特性相关的参数,比如相机的焦距、像素大小等;

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

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

一句话就是世界坐标到像素坐标的映射,当然这个世界坐标是我们人为去定义的,标定就是已知标定控制点的世界坐标和像素坐标我们去解算这个映射关系,一旦这个关系解算出来了我们就可以由点的像素坐标去反推它的世界坐标,当然有了这个世界坐标,我们就可以进行测量等其他后续操作了~上述标定又被称作隐参数标定,因为它没有单独求出相机的内部参数,如相机焦虑,相机畸变系数等~一般来说如果你仅仅只是利用相机标定来进行一些比较简单的视觉测量的话,那么就没有必要单独标定出相机的内部参数了~至于相机内部参数如何解算,相关论文讲的很多~

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

相机标定的目的是确定相机的一些参数的值。通常,这些参数可以建立定标板确定的三维坐标系和相机图像坐标系的映射关系,换句话说,你可以用这些参数把一个三维空间中的点映射到图像空间,或者反过来。相机需要标定的参数通常分为内参和外参两部分。外参确定了相机在某个三维空间中的位置和朝向,至于内参,可以说是相机内部的参数(这好像是废话...笑),我觉得需要引入一点光学的东西来更好地解释一下。现有的相机都至少包含一个光学镜头和一个光电传感器(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所示,针孔模型是凸透镜成像的一种简化模型。当物距足够远时(远大于两倍焦距),凸透镜成像可以看作是在焦距处的小孔成像。

图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矩阵的值不一样就可以理解了。

相关问答

焦距 和放大倍率之间的 换算 公式_作业帮

[最佳回答]镜头清晰成像时满足高斯公式:1/L`+1/L=1/f其中,L`为透镜中心到物体的距离,称为物距,L为透镜中心到成像平面的距离,称为像距,f为透镜的焦距.而...

焦距换算 单位?

焦距的单位通常用mm(毫米)来表示,一个镜头的焦距一般都标在镜头的前面,如f50mm(这就是我们通常所说的“标准镜头”,因为其视角于人眼视角相同故称标准镜头)...

C画幅的机器安装全画幅的 镜头 可以吗, 焦距 是怎么 换算 的。 - ...

APS-C相机可以使用全画幅的镜头,镜头上标的是实际焦距,至所以有等效于35mm相机的焦距一说,是因为在胶片相机时代,35mm相机的24x36底片:大小是最常用...

焦距 和*倍光变如何 换算 ?

长焦端数值除广角端数值即为*倍光变。18-135mm为7.5倍光变。18-55mm约为3倍光变。长焦端数值除广角端数值即为*倍光变。18-135mm为7.5倍光变。18-55mm...

600毫米)怎么理解数码单反的 焦距 看前面的还是后面的_作业帮

[最佳回答]这里有个等效焦距的换算,卡片机的传感器很小1/2.3英寸,等效换算系数约为5.6左右.

为什么全幅相机与APS画幅相机 焦距 需要 换算 ?-ZOL问答

APS-C画幅传感器面积比全画幅小很多,镜头用在APS-C相机上画面只有中间的部分成像,并不是镜头传递的画面全部能够实现在传感器上,所以又出现了焦距转换系数的问题...

全画幅 镜头 用在非全画幅相机上,怎么 换算焦距 - MiliEmy 的...

最简单的话说,就是底片大小差多少,就乘以多少。尼康,宾得,索尼等原来的焦距乘以1.5佳能乘以1.6无论是全画幅还是截幅镜头,用在非全画幅机器上,都是...

120和135 镜头焦距换算 公式?

没有具体公式,中画幅有不同的类型,换算系数不好一概而论……按照这个表推算吧……最上面一行是焦距,表格里面的是对应的视角…没有具体公式,中画幅有不同的...

“35毫米 换算焦距 镜头焦距 的1.例如:我有一个50毫米焦距的...

[最佳回答]镜头的焦距和感光器或者底片的幅面是有关系的,底片的画幅越大,长焦镜头能包含的视角也越大.而佳能的相机,用的是aps-c幅面的感光器,它的大小没有全...

【一倍 焦距 ,焦是什么?什么是 焦距 ?】作业帮

[最佳回答]一倍焦距就是平行光源通过透镜汇聚的那一点到透镜中心的距离,2倍远的地方成为二倍焦距焦就是焦点,聚焦的地方一倍焦距就是平行光源通过透镜汇聚的...