展讯FOV配置

最近展讯项目测试verfier fov fail,测试的值78.52,但是显示的是74.52,修改fov驱动.于是咨询驱动同事,了解了解决方法.记录如下.

  1. 找到对应驱动文件
    vendor/sprd/modules/libcamera/sensor/sensor_drv/classic/Samsung/s5k4e6sub/sensor_s5k4e6_mipi_raw.h

其中有这个结构

static SENSOR_STATIC_INFO_T s_gc5025_static_info[VENDOR_NUM] = {
    {.module_id = MODULE_SUNNY,
     .static_info = {
        .f_num = 200,
        .focal_length = 354,
        .max_fps = 30,
        .max_adgain = 8,
        .ois_supported = 0,
        .pdaf_supported = 0,
        .exp_valid_frame_num = 1,
        .clamp_level = 64,
        .adgain_valid_frame_num = 1,
        .fov_info = {{2.90304f, 2.17728f}, 2.2697f}} // 2.3686
    }
    /*If there are multiple modules,please add here*/
};

其中fov_info就是我们应该修改的地方

1.camera硬件信息和测试角度

Effective Pixel2592(H) * 1944(V)
Pixel size1.34um * 1.34um

上面.fov_info = {{X, Y},Z}}这个结构,x表示宽度,y表示高度,z表示到屏幕距离,如下图所示.degre表示测试出来的角度,比如我测试的角度是78.52

fov夹角模型

像素2592(H)1944(V)
1像素大小1.34um1.34um

所以有如下公式:
x = 像素宽度* 横向像素 = 1.34 * 2592 / 1000 = 3.4786f
y =像素高度* 纵向像素 = 1.34 * 1944 / 1000 = 2.6050f
夹角正切公式:
在这里插入图片描述
tan(0.5 * degree) = 0.5 X / Z
Z = 0.5* X / tan(0.5 * degree) = 3.4786f * 0.5 / 0.817 = 2.1288
故:
.fov_info = {{3.4786f, 2.605f}, 2.1288f}}

其中X,是不变的,Z值是根据测试角度求出来的,可以看到degree越大.Z越小.可以根据这个微调.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值