raw (1)_问题处理
#灵感# raw图质量是camera tuning 的第一步,当排查一些图像质量问题时,总要抓raw 分析一下。罗列一些遇到的问题和解决方案。
目录
1、A 光下的raw 颜色惨淡,
最终输出的YUV 饱和度也低,增加ISP 饱和度设置却改善有限。D65 光下颜色正常。
解决:发现没有安装红外滤光片,A 光的红外光影响了raw。正常用于白天的camera设备,都需要安装滤光片,滤除650nm 以上的红外光。
2、raw图某个角亮度异常,
校准出的lsc,明显大于其它角。且和光源无关系。
读pixel 值,发现这几个像素值被固定写死,可能是sensor的一些配置值或者ISP的标记值。
解决:修改起始点,移掉这一行。
3、raw 图发紫:
输出的YUV 全屏紫色,bypass ISP 模块,无实质性改善。抓raw 发现raw很紫。
??
解决:sensor的 first pixel 读取bayer pattern不合适,需要移位一下,换个bayer pattern顺序。
?需要修改sensor 的window location的起始位置。
4、raw图有几行或几列异常条
异常条中没有有效信息,不随环境改变而改变。
解决:sensor 的输出修改为”多出8行8列“。原因:可能ISP 有设置x,y的起始位置,如果分辨率是1920*1080,sensor的输出也只设置为1920 * 1080, 则ISP的起始位会导致有效分辨率不够,?就出现异常的空白像素条。
5、HDR的长帧raw和短帧raw亮度一样
视频画面,在黑白交接的地方出现闪烁和图像移位情况。
分析:sensor长短帧配置是没问题的,曝光行有十几倍的差距。
解决:改了硬件的一个寄存器的值,之前的短帧被长帧替换掉了。
抖动可能和帧率、带宽有关系。
6、raw的像素值读出来和设置不一样
raw 理论上 12bit = 0xfff 。但 实际的max luminance = 0xffc,
分析 raw其实是10bit, 因为不足12bit ,在低2位补00成12bit,就是0xffc。
raw输出12/10-bit , 表示输出的一个像素点有12bit、10bit数据.
解决:
将原来的localBufTmp[i] = localBuf[i] >> 2;改为localBufTmp[i] = ((localBuf[i] >> 2) & 0x03FF);
右移两位,去掉低位补的00。把高位多余的数据屏蔽掉,变成10bit 对应的 1111 1111 11=0x3ff.
另外,如果图像出现圈圈儿:是因为看图工具设置的raw bit 和实际raw的bit 不匹配,所以出现断层。
7、raw ok 但画面显示的方向不对,尺寸不对
使用常规横屏,画面却变成了竖屏? 且明显有个角畸变严重。抓取的raw 是正常的。
?
解决:video 的输出配置有问题。重新设置layer out 尺寸。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!