ISP Tuning—高通Chromatix6

Q1:sensor info

内容:通过给到的文件知道所用的配置

A1:Sensor info.txt模板如下:

30.000000f, /* Max FPS */
0, /* min line ct */
0, /* maximum line count in max fps */
0, /* maximum line count */
0, /* minimum gain */
0, /* max gain fix fps */
0, /* max gain after linear afr */
4096, /* raw image width */
3072, /* raw image height */
BGGR, /* bayer pattern */
10, //bits per pixel
mipi //1, //packed or not, packed=1, unpacked=0
0, /* crop top after camif */
0, /* crop bottom after camif */
0, /* crop left after camif */
0, /* crop right after camif */
0, //black level in 12-bit value based on spec
0, //black level under low light
0, //black level under bright light

 

来源:可以从sensor_lib.h中获取到

FPS:sensor最大输出帧率,对应out_info 的max_fps
Min/max line: 从sensor手册中获取到
Min/max gain: 最大增益由自己定,一般不会太大,不会超过256
Raw image width/height:raw尺寸,对应out_info里面的x_output/y_output
Bayer pattern: RAW 滤光片排列格式,对应sensor_output的filter_arrangement,一般是RGGB
Bit per pixel:sensor一般支持10bit和12bit,看寄存器配成多少bit,对应sensor_output的raw_output
Packed or not:RAW的两种格式
Crop:上下左右的裁剪,对应crop_params
Black level: 来自手册或者自己的测量,注意10bit要转成12bit,比如raw测出来的黑电平是60,转成12bit,就是多加两位,乘以四,最后就是240

建议:

建议先抓一张raw图,把raw图导入chromatix工具,多测试几种格式,确定了RAW图的格式再把sensor info.txt定下来
像黑电平,曝光行等在chromatix工具调试的过程中可以修改,并不是说写了多少就是多少

问题2:调试文件目录
 

 

1.一般来说3A 对应的是3A模块:AE,AWB,AF
2.Common 对应的是RAW域最前端的基础处理模块:黑电平(线性化),rolloff。
3.CPP 对应的是ISP中的CPP模块,主要是yuv域的降噪WNR和锐化ASF。
4.Isp 对应的是VFE模块,包括PDAF,ABF,绿平衡,坏点校正,去马赛克,gamma,color conversion,宽动态调节(LTM(注意有两个版本,都是有效的)/GTM/ADRC),肤色去噪,CAC,色度抑制,肤色增强,统计数据配置,video HDR(只支持隔行扫描HDR sensor),人脸检测等模块。
5.最常用到的就是ABF,gamma,color conversion,宽动态调节。
6.Postproc 对应的是RNR降噪参数,CAC等不常用的参数,一般不会调,用默认的。

chromatix工具最终是生成头文件的,我们当然可以跳过工具,直接去修改头文件。两者是一样的效果。


问题3:抓RAW图
手机/ipc设备拍摄raw图的方法。

回答:

手机抓raw图(传统)

1.安装骁龙相机

2.连续点击五次设置里面的红颜消除,进入高级设置

3.关闭零秒快排ZSL选项,关闭pdaf选项

4.选择图片格式RAW

5.按下拍照就是抓去RAW图了,图片保存在sdcard/DCIM/Camera或者/data/misc/camera路径下

lpc抓取raw图的方法:

1.连接usb线

2.安装total control

3.安装骁龙相机

4.用于手机抓raw图的方法抓取

Adb抓取raw图(仅适用于660以上平台)

adb shell chmod 777 /data/misc/camera
adb shell setprop persist.camera.raw_yuv 1
adb shell setprop persist.camera.preview_raw 1
adb shell setprop persist.camera.dumpimg 0
adb shell setprop persist.camera.dumpimg 131088


Tips

可以在QCamera2HWICallbacks.cpp的dumpFrameToFile函数查看具体实现过程。可能会出现抓拍到不止1张raw图的情况。
用骁龙相机抓出来的raw图是MIPI格式,而这里格式要改成packed,图片的名称中带有图片的大小。
第一次抓取raw图,设置好要重启camera或者重启应用程序。由于persist.camera.raw_yuv只有在给channel添加通道的时候才会读取,因此设置之后需要重启camera,可以重启设备或者重启应用程序。
图片路径在/data/misc/camera


问题4:头文件对应关系

详细
不同的sensor有不同的chromatix头文件,同一个sensor在不同数据流(预览,抓拍,录像)下也有不同的头文件,如何确定到底哪个生效呢?

回答

拿660平台举例,在/vendor/qcom/proprietary/mm-camera/media-controller/modules/sensors/configs路径下的xml里进行了配置。

这个位置有很多的xml配置文件,先找到这个设备的xml,比如说sdm660_camera.xml

<CameraModuleConfig>
  <CameraId>0CameraId>
  <SensorName>imx290SensorName>
  <ChromatixName>imx290_chromatixChromatixName>
  <ModesSupported>1ModesSupported>
  <Position>BACKPosition>
  <MountAngle>90MountAngle>
---------------

----------------

<ResolutionChromatixInfo>
  <ChromatixName sensor_resolution_index="0">
    <ISPPreview>imx290_previewISPPreview>
    <ISPSnapshot>imx290_previewISPSnapshot>
    <ISPVideo>imx290_previewISPVideo>
    <CPPPreview>imx290_cpp_previewCPPPreview>
    <CPPSnapshot>imx290_cpp_previewCPPSnapshot>
    <CPPVideo>imx290_cpp_previewCPPVideo>
    <CPPLiveshot>imx290_cpp_previewCPPLiveshot>
    <A3Preview>imx290_default_preview_3aA3Preview>
    <A3Video>imx290_default_preview_3aA3Video>
  ChromatixName>
  <ChromatixName sensor_resolution_index="1">
-------------

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值