【Camera驱动】GMS测试项中Camera FOV Calibration问题详解
一、基础定义
Camera FOV(Field of View,视场角)是光学成像系统的核心参数,其原理可从以下维度解析:
FOV指镜头捕捉场景的物理范围或角度,通常分为水平视场角、垂直视场角和对角线视场角三种类型。在摄影领域,默认FOV常指对角线视场角,而医学影像中则直接对应成像平面的物理尺寸(如25cm×25cm)
二、核心影响因素
焦距与FOV的数学关系
焦距与FOV呈反比:焦距越短,视场角越大(如广角镜头);焦距越长,视场角越小(如长焦镜头)
三、基础计算公式
通用公式(基于三角形几何关系):
FOV=2×arctan(d/2f)其中:dd:传感器尺寸(水平或垂直方向)ff:镜头焦距结果单位为弧度,可转换为角度(1弧度≈57.3°)
四、关键参数影响
焦距与FOV的反比关系
焦距ff越大,FOV越小(长焦镜头视野窄);焦距越小,FOV越大(广角镜头视野广)传感器尺寸的线性影响
相同焦距下,传感器尺寸dd越大(如全画幅 vs. APS-C),FOV越广物距的间接作用
固定焦距下,物距越远,像距越小,FOV越大(但实际影响需通过像距计算)
五 FOV修改
9.0是HAL3,请参考下面的方式修改Metadata。
a.向供应商确认sensor信息,需要确认如下图
镜头宽高:Resolution*Pixel Size
宽(d):5344*1.12=5985 --> 约5.98mm
高(f):4016*1.12=4497 --> 约4.49mm
可能会有误差,可以调整上面标注可调整的数字大小PASS测试项。
b.Camera FOV metadata 参数修改:
有如下方法可调整正确的FOV值。
//CTS FOV: FOCAL_LENGTH = WIDTH_PIXEL_SIZE / (2 * tan FOV/2)#define WIDTH_PIXEL_SIZE 4.71f //SENSOR_WIDTH * Unit pixel size(查看datasheet)
#define HEIGHT_PIXEL_SIZE 3.49f //SENSOR_HEIGHT * Unit pixel size#define FOCAL_LENGTH 6.980f
//config_static_metadata.sensor.xxxx_mipi_raw.hCONFIG_METADATA_BEGIN(MTK_SENSOR_INFO_PHYSICAL_SIZE) // mmCONFIG_ENTRY_VALUE(WIDTH_PIXEL_SIZE, MFLOAT)CONFIG_ENTRY_VALUE(HEIGHT_PIXEL_SIZE, MFLOAT)CONFIG_METADATA_END()//config_request_metadata__.hCONFIG_METADATA_BEGIN(MTK_LENS_FOCAL_LENGTH)//not nullCONFIG_ENTRY_VALUE(FOCAL_LENGTH, MFLOAT)CONFIG_METADATA_END()//config_static_metadata.lens.xxxx_mipi_raw.hCONFIG_METADATA_BEGIN(MTK_LENS_INFO_AVAILABLE_FOCAL_LENGTHS)CONFIG_ENTRY_VALUE(FOCAL_LENGTH, MFLOAT)CONFIG_METADATA_END()//config_static_metadata_request_commonType.hCONFIG_METADATA_BEGIN(MTK_REQUEST_AVAILABLE_REQUEST_KEYS)CONFIG_ENTRY_VALUE(MTK_LENS_FOCAL_LENGTH, MINT32)CONFIG_METADATA_END()CONFIG_METADATA_BEGIN(MTK_REQUEST_AVAILABLE_RESULT_KEYS)CONFIG_ENTRY_VALUE(MTK_LENS_FOCAL_LENGTH, MINT32)CONFIG_METADATA_END()CONFIG_METADATA_BEGIN(MTK_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS)CONFIG_ENTRY_VALUE(MTK_LENS_INFO_AVAILABLE_FOCAL_LENGTHS, MINT32)CONFIG_METADATA_END()