调试完这些参数之后,我们就可以将所有的参数给save to NVRAM,之后我们在将图五中的AWB ENABLE给勾选上,就可以拍照进行验证了。在验证的过程中,我们就可以用jpeg格式的照片验证,这样比较快,对于我们调试的AWB效果是否好,我们可以看图九中有一个表格,在表格下方有一个get按钮,我们可以get一下,对于高色温下一般都会占到90%以上,对于中色温和低色温则是分布的比较开,但是只要你现在的这个色温占到45%以上都是OK的。调试完awb之后,一般camera的效果都可以可以的,若还要继续调试,则可以在调试AF(因为AF 是用DP 调的,因此在说完CCT之后,我们再说AF 的调试),接下来是调试GAMMA 四、GAMMA的调试
Gamma的调试是要拍灰阶卡的,根据我们拍出来的照片去调试gamma曲线,mtk会给我们几组之前别人调过的比较好的gamma曲线,一般情况下我们只要用那些曲线就可以了,不用自己去调gamma曲线,因为调试的不好会出现图片的对比度和噪点有很大的差别。Gamma调试完之后,就是CCM的调试 五、CCM的调试
CCM的调试有一半是用CCT调的,还有一半是用Imatest调试的,CCM调试要拍24色卡,且也要拍高中低三组色温下的照片,且在调试CCM的时候,对于拍照的模式和拍出来的照片的命名方式都是有要求的。照片模式我们要选择pro raw --10bit,照片的命名方式跟工厂模式中camera拍出来的照片的命名方式是一样的,如D65__2528x1868_10_0.raw,其中这个照片的信息D65就是在D65的这个光源下拍的,2528和1868是照片的大小,10是10bit,0
是颜色格式(B:0,GB:1,GR:2,R:3),在调试CCM 的时候要确定有一个目标原W文件和gamma.csv文件,以及我们自己的照片,如下图12所示:
在我们将目标文件和我们自己的文件都导进去的时候一定要再图片上将二十色颜色都框上,同时点AUTO SELECT按钮,且弹出对话框要按no,确定不在重新导进文件。在选完之后我们要按Optimize按钮,去优化我们的图片,这时候我们可以看到上边的那个矩阵的数字变化,对角线的数字分别代表补偿的RGB的值,我们分析可以看到对于中低色温就蓝色补偿的多一些,高色温就红
色的补偿的多一些。进行完这些操作的时候在我们安装工具的目录下有一个名字为optResult_CCM的文件,我们可以先点Reset polu data按钮,将这个execl表格中的内容清空,然后按add new poly data 按钮增加一组数据,再点Gen para,apply para,apply,save to nvram,再各个色温拍照优化完之后,且进行完这些所有的操作之后,我们就可以拍照验证我们调试的CCM 结果。这时我们需要将图五中的Dynamic ccm这个给勾选上,拍照的时候我们要拍JPEG 的照片格式,只有这样Imatest才能打开,在打开imatest的时候我们就可以分析我们现在照片的饱和度以及颜色是否偏差很大,会有一个图表出来。
七、PCA的调试:
八、AF的调试:
AF的调试的基本是要进工厂模式下,在 Hardware Testing下有camera测试项,进入进行设置,capture size选择就是capture size,cpture type可以选择为jpeg only(为了节省手机空间,也可以选择pure raw,这时会生成两张照片,一张raw,一张jpeg),Capture number就选择为single,iso speed可以用默认的,strobe mode选择为off将闪光灯关掉,AF选择为FULL SCAN,并从中选择一张最清晰的照片进行选择,然后开始preview开始拍照,因为每次AF都要跑1024步,因此拍一张照片的时间会比较长,一般情况下我们只需要对特定距离进行拍照,远景可以选择3m,2.5m,2m,中景可以选择1.5m,1m,80cm,在70cm一下就是近景了,因为在近景的情况下AF动的会比较小,且比较细,因此在70cm一下,我们就要每隔10cm进行一次拍摄,最近的距离要根据厂家提供给我们的马达可以达到的最近距离去试,一般情况下我们就测到10cm,拍完这几组照片之后,就可以用DP工具去分析AF的性能了。
运行DEBUG Parser工具,在里边有AF Table Gen功能,在这里我们可以将照片都打开,这时候在工具中就可以根据分析最近的照片得到AF的offset,且我们可以看到在不同距离,马达所在不同位置时camera达到拍照的最清晰点,我们可以直接自己计算将lens_para_FM50AF.cpp文件中AF的参数进行填写,如下所示:
const NVRAM_LENS_PARA_STRUCT FM50AF_LENS_PARA_DEFAULT_VALUE = {
//Version
NVRAM_CAMERA_LENS_FILE_VERSION,
// Focus Range NVRAM
{0, 1023},
// AF NVRAM {
// -------- AF ------------ {100, // i4Offset 12, // i4NormalNum 12, // i4MacroNum 0, // i4InfIdxOffset 0, //i4MacroIdxOffset {
0, 20, 44, 72, 100, 144, 189, 242, 305, 379, 453, 527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
},
第一组参数{0,1023}是指AF总共可以运动1024步,下边的100是指AF的起始值,AF在100以后才会达到第一次最清晰的点,下边的两个12,是指下边数组中AF可以移动的步数,即下边数组中AF移动的步数的个数,我们可以自己手动填这个文件,也可以将这些数给输入到CCT工具里,自动生成参数,如下图所示:
若我们马达的静深不够深,我们会发现在我们拍的照片中,每个照片所达到最清晰状态,AF移动的距离都很小,这时我们就要将我们camera近距离拍照的距离再缩短一些,可以每5cm拍一张照片,否则在近距离拍照的时候,有可能会错过最清晰的点,则拍出来的照片效果会不好,照片增多了,我们上边数组中的个数也要增加,如{
0, 20, 44, 72, 100, 144, 189, 242, 305, 379, 453, 527, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}这个数组所示,基本上AF每步移动的距离都是差不多的,因此我们再调试的过程中也要注意AF的移动步数不要有太大的跳变,否则会影响照片效果。