ITS test_dng_noise_model 测试fail 处理办法

问题描述

 在test_dng_noise_model 测试中出现ITS测试结果不close导致ITS fail。

解决方案

 1.  在ITS测试窗口执行:CameraITS\dng_noise_model
command:
 python  .\dng_noise_model\dng_noise_model.py camera=0

 2. 拿到输出的结果如下:
 /* Generated functions to map a given sensitivity to the O and S noise
* model parameters in the DNG noise model. The planes are in
* R, Gr, Gb, B order.
*/
double compute_noise_model_entry_S(int plane, int sens) {
static double noise_model_A[] = { 1.7477260499596936e-06,1.7440658822668396e-06,1.731299355886824e-06,2.011856933123715e-06 };///对应DNGmetadata中的A
static double noise_model_B[] = { 1.2303517762576783e-05,4.238575725659295e-05,0.0003181146391489026,0.005462313787224404 };////对应DNGmetadata中的B
double A = noise_model_A[plane];
double B = noise_model_B[plane];
double s = A * sens + B;
return s < 0.0 ? 0.0 : s;
}double compute_noise_model_entry_O(int plane, int sens) {
static double noise_model_C[] = { 9.498643629871595e-12,9.136929946338025e-12,9.242123692991363e-12,-3.204424667121427e-12 }; ///对应DNGmetadata中的A
static double noise_model_D[] = { 3.534445171977982e-07,-4.5326612408830816e-07,-7.94994349119181e-06,-8.379458496015143e-05 }; ////对应DNGmetadata中的B
double digital_gain = (sens / 800.0) < 1.0 ? 1.0 : (sens / 800.0);
double C = noise_model_C[plane];
double D = noise_model_D[plane];
double o = C * sens * sens + D * digital_gain * digital_gain;
return o < 0.0 ? 0.0 : o;
}

3.  将gen出的参数copy到DNGmetadata参数中。
对应的文件路径:vendor/mediatek/proprietary/custom/xxxxx/hal/imgsensor/ver1/ixxx_mipi_raw/camera_tuning_para-xxxmipiraw.cpp
将gen出来的参数逐行填入DNGmetadata中,然后编译,将其push到手机。
PS:1. 建议全编译一次,以确保修改有生效。
       2. 如果还是更新参数还是不过,可以在这个基础上再次执行1/3步, 重新gen参数出来使用。

作者: RESSRC

个人资源站

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据