展訊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 Pixel 2592(H) * 1944(V)
Pixel size 1.34um * 1.34um

上面.fov_info = {{X, Y},Z}}這個結構,x表示寬度,y表示高度,z表示到屏幕距離,如下圖所示.degre表示測試出來的角度,比如我測試的角度是78.52

fov夾角模型

像素 2592(H) 1944(V)
1像素大小 1.34um 1.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越小.可以根據這個微調.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章