FOV的计算主要基于两个三角形,即下图中的深紫色与浅紫色:
三角形1:包含元素: FOV/2、EFL、d(芯片感光区域斜边长)/2
三角形2:包含元素:芯片感光区域宽、高、斜边长
一、根据sensor出图尺寸计算35mm等效焦距
135胶卷源于35mm高度的打孔电影胶片,1913年,德国人奥斯卡·巴纳克将其用于他发明的徕卡(Leica)牌小型照相机上,由此形成标准。
35mm电影胶卷,35mm指的是胶卷的高度为35mm,由于上下两端有齿孔,所以有效高度为24mm,这种胶片的单幅图像感光面积为24mm*36mm。
详细见:https://baike.baidu.com/item/135%E8%83%B6%E7%89%87/647539?fr=aladdin
35mm等效焦距:
35mm等效焦距是摄影术语之一,可以理解为将当前使用的芯片映射到与135胶卷底片同样大小后,对应的焦距是多少。
135胶卷感光面积为24mm*36mm, 通过勾股定理可算出斜边长约为43.27mm。
计算公式①:
如下图所示(由三角形1扩展而来):
根据相似三角形对应边成比例的性质可得:
35mm等效焦距 = 43.27/d * EFL
公式中的EFL为模组物理属性,可从“模组规格书”中找到对应信息。接下来计算未知数d:
计算公式②:
从三角形2可以看出,d可以用勾股定理来计算:
d² = w² + h²
此处的d、w、h 都是指感光芯片的实际长度,即:像素个数 * 单个像素大小
二、根据指定35mm等效焦距计算sensor出图尺寸
如果我们遇到一个需求:需要从sensor端裁切出"35mm等效焦距为35,比例为4:3"的图像,计算方式如下:
计算公式①:
根据三角形1计算出对应的d值:
d = 43.27mm/35mm等效焦距 * EFL
计算公式②:
根据三角形2计算出大概的w、h,再根据平台对像素对齐的要求做调整
设 w = 4x; h = 3x;
d² = w² + h² = 16x² + 9x² = 25x²
w = 4*(sqrt((d²)/25))
h = 3*(sqrt((d²)/25))
注意计算过程中w、h 表示的是物理长度,除以pixel size 的结果才是像素点个数
三、根据35mm等效焦距与zoom倍数计算新的35mm等效焦距
由2.①:d = 43.27mm/35mm等效焦距 * EFL
四、根据sensor出图尺寸计算FOV
计算公式①:
根据三角形1,FOV可以用d/2 和EFL套用三角函数计算出来。所用公式:
tan(FOV/2) = (d/2) / EFL
则 FOV = 2 * arctan((d/2) / EFL)
计算公式②(同1):
由三角形2,d用勾股定理计算:
d² = w² + h²
五、根据指定FOV计算sensor出图尺寸
比如:需要在imx800上裁出"FOV为55°、画面比例为4:3"的图像sensor输出尺寸与FOV换算.xlsx
计算公式①:
根据三角形1,d可以用FOV和EFL套用三角函数计算出来。所用公式:
d = (tan(FOV/2) * EFL) * 2
计算公式②(同2):
根据三角形2计算出大概的w、h,再根据平台对像素对齐的要求做调整
w = 4*(sqrt((d²)/25))
h = 3*(sqrt((d²)/25))
六、根据指定FOV和zoom倍数计算zoom后的FOV
由5.①:d = (tan(FOV/2) * EFL) * 2
以斜边FOV 120°的模组(一般为UW模组)为例,FOV随ZOOM值增大的表现如下图:
七、 不同sensor间ZOOM倍数的计算(SAT)
物理数值计算
在同一颗sensor出图计算zoom的时候,可以直接使用zoom前后 图像的宽或高或斜边长相除,但是这其中隐含了一个限制条件:EFL是固定不变的。
所以在计算不同sensor出图的zoom倍数的时候,如果EFL不同则不能直接相除,而是需要先映射到同样EFL的系统中再做计算。也就是将下图中d2映射到d2’在与d1相除。
由于zoom前后的w、h、d组成的两个三角形是相似三角形,所以上述公式中斜边长d1/d2可以替换成宽w1/w2或高h1/h2。
但要注意的是,这里尺寸都是指物理尺寸,而不是像素点个数,因为不同sensor像素点大小也是不一样的。
可使用 表格 对应sheet页填写对应参数值自动完成上述计算