---
title: hi_isp_awb_attr
description: "定义ISP自动白平衡属性。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/others/ispdevug/ispdevapi_0227.html
sourcePath: /source/zh/canncommercial/900/others/ispdevug/ispdevapi_0227.html
indexId: 809009c98668f385a8be7d922ea3be0abd6ca3b91e2b9e5e9ca8bb63f9cedf5665
---
# hi_isp_awb_attr

#### 说明

定义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 | 自动白平衡使能。 取值范围： HI\_FALSE: 关闭 HI\_TRUE: 开启 |
| 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 | 自动白平衡算法的将超出白点范围的增益映射回白点范围内的开关。 取值范围： HI\_FALSE: 关闭 HI\_TRUE: 开启 |
| shift\_limit | 室内场景或室内外检测关闭时，自动白平衡的白点范围参数。 取值范围：[0x0, 0xFF] |
| gain\_norm\_en | 自动白平衡算法的增益归一化的开关。使能后，可提高低照、低色温下的信噪比。 取值范围： HI\_FALSE: 关闭 HI\_TRUE: 开启 |
| natural\_cast\_en | 低色温下AWB风格喜好开关。 取值范围： HI\_FALSE: 关闭 HI\_TRUE: 开启 |
| cb\_cr\_track | Bayer域统计信息与ISO的联动参数。 |
| luma\_hist | 白平衡的亮度直方图统计参数。 |
| awb\_zone\_wt\_en | 白平衡的分块权重使能开关。 取值范围： HI\_FALSE: 关闭 HI\_TRUE: 开启 |
| 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) |


#### 注意事项

- enable为HI_TRUE时，AWB正常工作，RGB通道增益系数由AWB根据环境色温计算；enable为HI_FALSE时，AWB不工作，RGB通道增益系数固定，为校正的静态白平衡系数。
- ref_color_temp、static_wb、curve_para是用户通过校正工具得到的AWB参数，是AWB准确的前提。更换光学器件后，建议重新校正这三组参数。ref_color_temp是进行静态白平衡校正光源的真实色温，推荐在D50光源下做静态白平衡校正。curve_para[0]，curve_para[1]，curve_para[2]三个参数确定Planckian曲线，curve_para[3]，curve_para[4]，curve_para[5]三个参数确定色温曲线，curve_para[4]取值固定为128。
- 自动白平衡通过curve_para等标定参数计算环境色温。在[2500K, 10000K]范围内，色温计算准确度较高，超出以上范围后，色温计算误差较大。
- 自动白平衡R/B通道校准强度，一般情况不建议调整。
  可通过调整R/B通道校准强度使AWB校准偏强或者偏弱，0x80表示标准强度。建议rg_strength、bg_strength两个参数取相同值，且小于等于0x80。在低色温场景，校准强度小于0x80时图像偏红，大于0x80时图像偏蓝；在高色温场景，校准强度小于0x80时图像偏蓝，大于0x80时图像偏红。

- speed控制AWB增益的收敛速度。speed越大，切换光源时，AWB收敛的速度越快，但帧间的波动幅度也变大；speed越小，切换光源时，AWB收敛的速度越慢，但帧间的波动幅度变小，稳定性提高。
- zone_sel参数为0或255时，采用了近似灰度世界的算法；zone_sel为其他值时，AWB算法会对所有统计块进行分类筛选，提高AWB精度。
- 自动白平衡算法的色温上限/下限，以Kelvin为单位。
  AWB算法支持的最高/最低色温。若实际场景中的色温大于色温上限或小于色温下限，则AWB不能完全恢复，图像会偏向光源色，低色温下偏黄，高色温下偏蓝。

  注意：色温计算在高、低色温段误差较大，设置色温上限小于1000K时，可能出现随参数值递增或递减，颜色表现不平滑的现象。

- shift_limit_en决定AWB增益是否向Planckian曲线做映射。shift_limit控制白色块的范围，取值较小时，对光源的支持范围较窄，精度较高；取值较大时，支持更多的光源，精度降低。shift_limit_en仅控制AWB增益是否向Planckian曲线做映射，无论shift_limit_en打开或关闭，shift_limit取值的改变都会影响AWB结果。校正静态白平衡系数的光源色温值，要求在AWB算法设置的色温上下限范围内。
- gain_norm_en使能，对RGB通道增益进行限制，可以改善低色温、低照度场景的信噪比。
- natural_cast_en使能，低色温下AWB保留光源色，图像颜色更自然。注意在极高ISO场景下，RGB通道增益系数计算的中间值会被内部截断，导致natural_cast_en使能后对最终AWB环境色温计算和RGB通道增益系数结果无影响，相似情况也出现在HI_ISP_AWB_ALG_LOWCOST和HI_ISP_AWB_ALG_ADVANCE切换等场景中。
- 权重表与AWB统计分块的对应顺序如下：
  − 非拼接模式下，AWB统计信息分块个数是 32x32，zone_wt[0]对应第一行第一列，zone_wt[1]对应第一行第二列，zone_wt[31]对应第一行第 32 列， zone_wt[32]对应第二行第一列，依次类推。

  − 不支持拼接模式下配置AWB统计信息权重。

- 特定应用产品，客户使能awb_zone_wt_en后，可通过设置权重表改变每个区域的权重，优化AWB表现。在shading较严重时，可加大中心区域的权重，保证中间区域AWB准确还原，降低shading对AWB的影响。在行车记录仪应用，感兴趣区域一般在画面的中心偏下区域，可加大此区域的权重，降低天空、树木等区域对AWB的干扰。
