我是靠谱客的博主 乐观未来,最近开发中收集的这篇文章主要介绍【展讯】曝光线性度(Exposure Linearity)问题排查步骤,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用工具isptool去测试曝光线性度

曲线满足线性递增,Gr/Gb通道的值要大于R/B 通道的值,判为正常。
如果不是线性,建议检查sensor  drv或sensor本身是否有问题。

排查驱动步骤:

adb shell setprop persist.vendor.isp.ae.camera_id .exp_gain  “0 exp  gain”
如:手动设置主摄曝光时间为 20ms ,曝光增益为 4096。
adb shell setprop persist.vendor.isp.ae.m .exp_gain  “0 20000  4096”
确保测试手法和环境没问题:
1、拍下来的raw图是否偏暗
2、检查一下生成的ae 曝光表对应的最大shutter,这里的shutter最大只能跑到曝光表中的最大shutter值
排查驱动:
3、使用AE手动命令试试,单次下发各种档位曝光,保持gain不变,看是否符合预期——曝光增加或减小预览界面
相应亮度存在变化,
4、如果第三步一直保持比较暗的状态,则检查驱动中的line_time,frame_length这几个关于曝光的参数,
这就需要了解曝光原理和他的计算公式,如果参数没问题,则检查gain,shutter,exposure这几个函数和
寄存器是否在手动设置的时候它的值真的写到sensor中去;如果第三步符合预期则需要tuning检查一下第一二步

Camera sensor 曝光基础知识

具体地,在将光信号转换为电信号的扫描过程中,扫描总是从图像的左上角开始,水平向前行进,同时扫描点也以
较慢的速率向下移动。当扫描点到达图像右侧边缘时,扫描点快速返回左侧,重新开始在第1行的起点下面进行第2
行扫描,行与行之间的返回过程称为水平消隐(也叫行消隐,H_BLANK)。一幅完整的图像扫描信号,是由水平消
隐间隔分开的行信号序列构成,称为一帧。

sensor逐行曝光基本原理
sensor逐行曝光从第一行开始曝光,一个行周期结束之后第二行才开始曝光。依次类推,经过N-1 行后第N 行开始
曝光。第一行曝光结束后开始读出数据,读出一行需要一行周期时间(含行消隐时间,即H_Blank)。至第一行完全
读出后,第二行刚好开始读出,依次类推,当第N-1 行读完后,第N 行开始读出,直到整幅图像完全读出。
sensor逐行曝光过程

sensor全局曝光基本原理
全局曝光Sensor的所有行同时开始曝光,并同时结束曝光,在曝光结束后,Sensor将所有电子从感光区转到存储区,
之后逐行地读出像素数据。 这样曝光的好处是获得图像每一行的曝光时间比较一致,并且在拍摄运动物体时图像不会
出现偏移和歪斜。
fps和linetime及framelength,pclk之间的计算公式
fps = pclk / (linelength*framelength) = 1 /(linetime* framelength)
linetime = pclk / linelength;

这里frame_length * line_length的意思是用一帧的行数乘以一行的长度,即相乘得到一帧图像总共有多少像素。
pclk是像素时钟,单位是MHz。如100MHz,就表示每秒钟可以采集100M个像数。用pclk除以
frame_length * line_length两者之积,即是算1秒钟内采集的100M个像数点可以分成多少帧
(frame_length * line_time = 曝光一帧的时间)。

最后

以上就是乐观未来为你收集整理的【展讯】曝光线性度(Exposure Linearity)问题排查步骤的全部内容,希望文章能够帮你解决【展讯】曝光线性度(Exposure Linearity)问题排查步骤所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部