定义ISP自动白平衡属性。
typedef struct { hi_bool enable; hi_u16 ref_color_temp; hi_u16 static_wb[HI_ISP_BAYER_CHN_NUM]; hi_s32 curve_para[HI_ISP_AWB_CURVE_PARA_NUM]; hi_isp_awb_alg_type alg_type; hi_u8 rg_strength; hi_u8 bg_strength; hi_u16 speed; hi_u16 zone_sel; hi_u16 high_color_temp; hi_u16 low_color_temp; hi_isp_awb_ct_limit_attr ct_limit; hi_bool shift_limit_en; hi_u8 shift_limit; hi_bool gain_norm_en; hi_bool natural_cast_en; hi_isp_awb_cbcr_track_attr cb_cr_track; hi_isp_awb_lum_histgram_attr luma_hist; hi_bool awb_zone_wt_en; hi_u8 zone_wt[HI_ISP_AWB_ZONE_NUM]; } hi_isp_awb_attr;
成员名称 |
描述 |
---|---|
enable |
自动白平衡使能。 取值范围:
|
ref_color_temp |
校正静态白平衡系数的光源色温值。 推荐选用5000K附近光源进行静态白平衡校正。 取值范围:[0x0, 0xFFFF]。 |
static_wb |
静态白平衡系数,由AWB标定工具给出。 取值范围:[0x0, 0xFFF]。 #define HI_ISP_BAYER_CHN_NUM 4 |
curve_para |
校准曲线的系数。取值范围:curve_para [3]!=0; curve_para [4]=128。 #define HI_ISP_AWB_CURVE_PARA_NUM 6 |
alg_type |
自动白平衡算法类型选择,支持HI_ISP_AWB_ALG_LOWCOST和HI_ISP_AWB_ALG_ADVANCE可选。HI_ISP_AWB_ALG_LOWCOST CPU占用较少,对光源的适应性较好。HI_ISP_AWB_ALG_ADVANCE提升了AWB精度。 取值范围:HI_ISP_AWB_ALG_LOWCOST、 HI_ISP_AWB_ALG_ADVANCE。 |
rg_strength |
自动白平衡 R 通道校准强度。 取值范围:[0x0, 0xFF]。 |
bg_strength |
自动白平衡 B 通道校准强度。 取值范围:[0x0, 0xFF]。 |
speed |
自动白平衡算法收敛速度,值越大,AWB收敛越快。 取值范围:[0x0, 0xFFF]。 |
zone_sel |
自动白平衡算法全局或分区域计算的选择,取值范围:[0, 255]。 |
high_color_temp |
自动白平衡算法的色温上限,色温上限越大,蓝色物体对AWB的干扰越大。 推荐范围:[8500, 10000]。 |
low_color_temp |
自动白平衡算法的色温下限,色温下限越小,橙色、红色物体对AWB的干扰越大。取值范围:[0x0, high_color_temp)。 |
ct_limit |
白平衡算法环境色温超过预设色温范围后,增益计算模式及手动增益值设定。 |
shift_limit_en |
自动白平衡算法的将超出白点范围的增益映射回白点范围内的开关。 取值范围:
|
shift_limit |
室内场景或室内外检测关闭时,自动白平衡的白点范围参数。 取值范围:[0x0, 0xFF] |
gain_norm_en |
自动白平衡算法的增益归一化的开关。使能后,可提高低照、低色温下的信噪比。 取值范围:
|
natural_cast_en |
低色温下AWB风格喜好开关。 取值范围:
|
cb_cr_track |
Bayer域统计信息与ISO的联动参数。 |
luma_hist |
白平衡的亮度直方图统计参数。 |
awb_zone_wt_en |
白平衡的分块权重使能开关。 取值范围:
|
zone_wt[HI_ISP_AWB_ZONE_NUM] |
白平衡的1024分块权重表,取值范围:[0x0, 0xFF]。 #define HI_ISP_AWB_ZONE_NUM (HI_ISP_AWB_ZONE_ORIG_ROW * HI_ISP_AWB_ZONE_ORIG_COLUMN) |
可通过调整R/B通道校准强度使AWB校准偏强或者偏弱,0x80表示标准强度。建议rg_strength、bg_strength两个参数取相同值,且小于等于0x80。在低色温场景,校准强度小于0x80时图像偏红,大于0x80时图像偏蓝;在高色温场景,校准强度小于0x80时图像偏蓝,大于0x80时图像偏红。
AWB算法支持的最高/最低色温。若实际场景中的色温大于色温上限或小于色温下限,则AWB不能完全恢复,图像会偏向光源色,低色温下偏黄,高色温下偏蓝。
注意:色温计算在高、低色温段误差较大,设置色温上限小于1000K时,可能出现随参数值递增或递减,颜色表现不平滑的现象。
− 非拼接模式下,AWB统计信息分块个数是 32x32,zone_wt[0]对应第一行第一列,zone_wt[1]对应第一行第二列,zone_wt[31]对应第一行第 32 列, zone_wt[32]对应第二行第一列,依次类推。
− 不支持拼接模式下配置AWB统计信息权重。