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

#### 产品支持情况

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


#### 功能说明

设定AE曝光属性。


#### 函数原型

```
hi_s32
hi_mpi_isp_set_exposure_attr(
hi_vi_pipe
vi_pipe, const
hi_isp_exposure_attr
*exp_attr)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| vi\_pipe | 输入 | VI PIPE号。 取值范围：[0, 12)。 |
| exp\_attr | 输入 | AE曝光属性结构体指针。 |


#### 返回值说明

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


#### 约束说明

- AE曝光控制类型为自动时，曝光时间，曝光增益都由AE算法自动控制，可以通过配置自动曝光属性结构体auto_attr里面的参数得到不同的曝光效果。
- AE曝光控制类型为手动时，可以通过配置手动曝光属性结构体manual_attr控制使能类型（曝光时间使能、sensor模拟增益使能、sensor数字增益使能、ISP数字增益使能）及相应的曝光参数（曝光时间、sensor模拟增益、sensor数字增益、ISP数字增益）。
- AE曝光控制类型为自动时，配置手动曝光属性的参数无效。同理，AE曝光控制类型为手动时，配置自动曝光属性的参数无效。
- AE曝光控制类型为手动时，若曝光参数设置超出最大（小）值，将使用sensor支持的最大（小）值代替。
- 无论是自动曝光还是手动曝光，曝光时间的单位为微秒(us)，曝光增益的单位为10bit精度的倍数，即1024代表1倍，2048代表2倍等。
- WDR模式下，优先帧设置为长帧时，优先根据长帧的曝光路线进行曝光，其中，2合1WDR模式下当增益分开配置时，短帧曝光路线根据长帧的曝光参数进行调整；优先帧设置为短帧时，优先根据短帧的曝光路线进行曝光，其中，2合1WDR模式下当增益分开配置时，长帧曝光路线根据短帧的曝光参数进行调整。
- 2合1WDR模式下，设置增益分开配置，若sensor支持长短帧不同增益，可实现长短帧不同的sensor模拟增益、sensor数字增益、WDR增益，若sensor不支持长短帧不同增益，可实现长短帧不同的WDR增益。
- 使用灌图接口从BE进行回灌时，需要将AE曝光控制类型设置为手动。


#### 调用示例

自动曝光属性设置：


```
hi_vi_pipe vi_pipe = 0;
hi_isp_exposure_attr exp_attr;
hi_mpi_isp_get_exposure_attr(vi_pipe, &exp_attr);
exp_attr.bypass = HI_FALSE;
exp_attr.prior_frame = HI_ISP_LONG_FRAME;
exp_attr.ae_gain_sep_cfg = HI_FALSE;
exp_attr.op_type = HI_OP_MODE_AUTO;
exp_attr.auto_attr.exp_time_range.max = 40000;
exp_attr.auto_attr.exp_time_range.min = 10;
hi_mpi_isp_set_exposure_attr(vi_pipe, &exp_attr);
exp_attr.auto_attr.speed = 0x80;
hi_mpi_isp_set_exposure_attr(vi_pipe, &exp_attr);
exp_attr.auto_attr.exp_attr = HI_ISP_AE_EXP_HIGHLIGHT_PRIOR;
exp_attr.auto_attr.hist_ratio_slope = 0x100;
exp_attr.auto_attr.max_hist_offset = 0x40;
hi_mpi_isp_set_exposure_attr(vi_pipe, &exp_attr);
exp_attr.auto_attr.antiflicker.enable = HI_TRUE;
exp_attr.auto_attr.antiflicker.frequency = 50;
exp_attr.auto_attr.antiflicker.mode = HI_ISP_ANTIFLICKER_NORMAL_MODE; hi_mpi_isp_set_exposure_attr(vi_pipe, &exp_attr);
exp_attr.auto_attr.ae_delay_attr.black_delay_frame = 10;
exp_attr.auto_attr.ae_delay_attr.white_delay_frame = 0; hi_mpi_isp_set_exposure_attr(vi_pipe, &exp_attr);
```

手动曝光属性设置：

```
hi_vi_pipe vi_pipe = 0;
hi_isp_exposure_attr exp_attr;
hi_mpi_isp_get_exposure_attr(vi_pipe, &exp_attr);
exp_attr.bypass = HI_FALSE;
exp_attr.op_type = HI_OP_MODE_MANUAL;
exp_attr.manual_attr.a_gain_op_type = HI_OP_MODE_MANUAL;
exp_attr.manual_attr.d_gain_op_type = HI_OP_MODE_MANUAL;
exp_attr.manual_attr.ispd_gain_op_type = HI_OP_MODE_MANUAL;
exp_attr.manual_attr.exp_time_op_type = HI_OP_MODE_MANUAL;
exp_attr.manual_attr.a_gain = 0x400;
exp_attr.manual_attr.d_gain = 0x400;
exp_attr.manual_attr.isp_d_gain = 0x400;
exp_attr.manual_attr.exp_time = 0x40000;
hi_mpi_isp_get_exposure_attr(vi_pipe, &exp_attr);
```
