---
title: hi_mpi_isp_cal_gain_by_temp
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/others/ispdevug/ispdevapi_0225.html
sourcePath: /source/zh/canncommercial/900/others/ispdevug/ispdevapi_0225.html
indexId: 7240a6df758e7c076f240011def27f9d77025ca18d749b2b8c2bbf07397f49bb65
---
# hi_mpi_isp_cal_gain_by_temp

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | ☓ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | ☓ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | ☓ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | ☓ |
| Atlas 训练系列产品 | ☓ |


#### 功能说明

计算特定色温下的白平衡增益系数。


#### 函数原型

```
hi_s32
hi_mpi_isp_cal_gain_by_temp(
hi_vi_pipe
vi_pipe, const
hi_isp_wb_attr
*wb_attr,
hi_u16
color_temp,
hi_s16
shift,
hi_u16
*awb_gain)
```


#### 参数说明

| 参数名称 | 输入/输出 | 描述 |
| --- | --- | --- |
| vi\_pipe | 输入 | vi\_pipe号。 取值范围：[0, 12)。 |
| wb\_attr | 输入 | 白平衡的参数属性。需要用到hi\_isp\_awb\_attr中的static\_wb，curve\_para两组标定参数。 |
| color\_temp | 输入 | 色温值，单位为Kelvin。 取值范围：[1500, 15000] |
| shift | 输入 | 白点与Planckian曲线的位置和距离。取值范围：[\-64, 64] |
| awb\_gain | 输出 | 预设色温下的R、Gr、Gb、B四个通道增益。 |


#### 返回值说明

- 0：成功
- 非0：失败，参见  ISP返回码
。


#### 约束说明

- 白平衡标定参数决定预设色温增益计算的准确性，因此，在调用该接口前，必须完成标定，且标定参数配置到ISP。用户先通过hi_mpi_isp_set_wb_attr接口设置标定结果，再调用hi_mpi_isp_cal_gain_by_temp接口计算预设色温的增益，过程中不能再修改标定结果。
- hi_mpi_isp_cal_gain_by_temp功能基于AWB标定参数实现，因此，该接口仅对hi_isp_awb_attr结构体的标定参数static_wb，curve_para做有效范围检查，不对其他参数做约束。
- shift参数决定光源点与Planckian曲线的位置关系，shift为负数时，光源点位于Planckian曲线左侧，计算的白平衡增益在预设色温下会稍微偏红；shift为正数时，光源点位于Planckian曲线右侧，计算的白平衡增益在预设色温下会稍微偏绿。
