40. 统计讯息¶
40.1. 概述¶
本章节说明 ISP 提供的 3A 统计信息,及配置方式。
40.2. API 参考¶
统计信讯的接口必需在调用
CVI_ISP_Init
接口之后才能调用。
CVI_ISP_SetStatisticsConfig :设置 ISP 统计信息配置
CVI_ISP_GetStatisticsConfig :获取 ISP 统计信息配置
CVI_ISP_GetAEStatistics :获取 ISP AE统计信息
CVI_ISP_GetWBStatistics :获取 ISP AWB统计信息
CVI_ISP_GetFocusStatistics :获取 ISP AF统计信息
40.2.1. CVI_ISP_SetStatisticsConfig¶
【描述】
设置 ISP 统计讯息配置。
【语法】
CVI_S32 CVI_ISP_SetStatisticsConfig(VI_PIPE ViPipe, const ISP_STATISTICS_CFG_S *pstStatCfg);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstStatCfg |
ISP 统计信息配置 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功。 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无。
【举例】
// Set AE / AWB / AF related statistic window setting
VI_PIPE ViPipe = 0;
ISP_STATISTICS_CFG_S stsCfg;
// 设定AE0 windows ROI.
stsCfg.stAECfg.stCrop[0].bEnable = 1;
stsCfg.stAECfg.stCrop[0].u16X = stsCfg.stAECfg.stCrop[0].u16Y = 0;
stsCfg.stAECfg.stCrop[0].u16W = 1920;
stsCfg.stAECfg.stCrop[0].u16H = 1080;
// 设定AWB统计值在x & y方向的window数.
stsCfg.stWBCfg.u16ZoneRow = AWB_ZONE_ORIG_ROW;
stsCfg.stWBCfg.u16ZoneCol = AWB_ZONE_ORIG_COLUMN;
// 设定AWB window ROI.
stsCfg.stWBCfg.stCrop.u16X = stsCfg.stWBCfg.stCrop.u16Y = 0;
stsCfg.stWBCfg.stCrop.u16W = 1920;
stsCfg.stWBCfg.stCrop.u16H = 1080;
// 设定AWB统计亮度的阈值.
stsCfg.stWBCfg.u16BlackLevel = 0;
stsCfg.stWBCfg.u16WhiteLevel = 4095;
// 设定AF统计值开关.
stsCfg.stFocusCfg.stConfig.bEnable = 1;
// 设定AF统计的前处理开关
stsCfg.stFocusCfg.stConfig.stRawCfg.PreGammaEn = 0;
stsCfg.stFocusCfg.stConfig.stPreFltCfg.PreFltEn = 1;
// 设定AF统计值在 x & y方向的window数
stsCfg.stFocusCfg.stConfig.u16Hwnd = 17;
stsCfg.stFocusCfg.stConfig.u16Vwnd = 15;
// 设定AF window ROI.
stsCfg.stFocusCfg.stConfig.stCrop.bEnable = 1;
stsCfg.stFocusCfg.stConfig.stCrop.u16X = AF_XOFFSET_MIN;
stsCfg.stFocusCfg.stConfig.stCrop.u16Y = AF_YOFFSET_MIN;
stsCfg.stFocusCfg.stConfig.stCrop.u16W = 1920 - AF_XOFFSET_MIN * 2;
stsCfg.stFocusCfg.stConfig.stCrop.u16H = 1080 - AF_YOFFSET_MIN * 2;
// 设定AF水平方向低通滤波器系数.
stsCfg.stFocusCfg.stConfig.u8HFltShift = 1;
stsCfg.stFocusCfg.stConfig.s8HVFltLpCoeff[0] = 1;
stsCfg.stFocusCfg.stConfig.s8HVFltLpCoeff[1] = 2;
stsCfg.stFocusCfg.stConfig.s8HVFltLpCoeff[2] = 3;
stsCfg.stFocusCfg.stConfig.s8HVFltLpCoeff[3] = 5;
stsCfg.stFocusCfg.stConfig.s8HVFltLpCoeff[4] = 10;
// 设定AF水平方向高通滤波器系数.
stsCfg.stFocusCfg.stHParam_FIR0.s8HFltHpCoeff[0] = 0;
stsCfg.stFocusCfg.stHParam_FIR0.s8HFltHpCoeff[1] = 0;
stsCfg.stFocusCfg.stHParam_FIR0.s8HFltHpCoeff[2] = 13;
stsCfg.stFocusCfg.stHParam_FIR0.s8HFltHpCoeff[3] = 24;
stsCfg.stFocusCfg.stHParam_FIR0.s8HFltHpCoeff[4] = 0;
// 设定AF垂直方向高通滤波器系数.
stsCfg.stFocusCfg.stVParam_FIR.s8VFltHpCoeff[0] = 13;
stsCfg.stFocusCfg.stVParam_FIR.s8VFltHpCoeff[1] = 24;
stsCfg.stFocusCfg.stVParam_FIR.s8VFltHpCoeff[2] = 0;
// 设定各统计值取值开关.
stsCfg.unKey.bit1FEAeGloStat = stsCfg.unKey.bit1FEAeLocStat =
stsCfg.unKey.bit1AwbStat1 = stsCfg.unKey.bit1AwbStat2 = stsCfg.unKey.bit1FEAfStat = 1;
CVI_ISP_SetStatisticsConfig(ViPipe, &stsCfg);
// 设定AF低通滤波器系数规则.
AF低通滤波器拥有九个参数 {x0, x1, x2, x3, x4, x5, x6, x7, x8} ,
最后四个参数与前四个参数对称(x0 = x8, x1 = x7, x2 = x6, x3 = x5) ,
使用者只须设置前五个参数(x0 ~ x5)即可
// 设定AF水平高通滤波器系数规则.
AF水平高通滤波器拥有九个参数 {x0, x1, x2, x3, x4, x5, x6, x7, x8} ,
最后四个参数与前四个参数 ,
数字相同但正负符号相反 (x0 = -x8, x1 = -x7, x2 = -x6, x3 = -x5) ,
使用者只须设置前五个参数(x0 ~ x5)即可
// 设定AF垂直高通滤波器系数规则.
AF水平高通滤波器拥有五个参数 {x0, x1, x2, x3, x4} ,
最后两个参数与前两个参数 ,
数字相同但正负符号相反 (x0 = -x4, x1 = -x3) ,
使用者只须设置前三个参数(x0 ~ x2)即可
filter参数设定范例
滤波器可通过的频带 |
滤波器参数x0 |
滤波器参数x1 |
滤波器参数x2 |
---|---|---|---|
0.1 ~ 0.2 |
20 |
16 |
0 |
0.1 ~ 0.5 |
17 |
20 |
0 |
0.1 ~ 0.6 |
13 |
24 |
0 |
0.1 ~ 0.7 |
12 |
25 |
0 |
0.1 ~ 0.8 |
-10 |
-27 |
0 |
0.2 ~ 0.9 |
-10 |
27 |
0 |
【相关主题】
40.2.2. CVI_ISP_GetStatisticsConfig¶
【描述】
获取 ISP 统计讯息配置。
【语法】
CVI_S32 CVI_ISP_GetStatisticsConfig(VI_PIPE ViPipe, ISP_STATISTICS_CFG_S *pstStatCfg);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstStatCfg |
ISP 统计信息配置 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功。 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无。
【举例】
无。
【相关主题】
40.2.3. CVI_ISP_GetAEStatistics¶
【描述】
获取 ISP AE统计信息
【语法】
CVI_S32 CVI_ISP_GetAEStatistics(VI_PIPE ViPipe, ISP_AE_STATISTICS_S *pstAeStat);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstAeStat |
AE统计信息 输出 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功。 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无。
【举例】
//设定 AE window weight
#define AE_ZONE_ROW 15
#define AE_ZONE_COLUMN 17
ISP_AE_WIN_STATISTICS_CFG_S aeWinCfg;
CVI_U8 i,j;
VI_PIPE ViPipe = 0;
CVI_U8 u8Weighttable[AE_ZONE_ROW][ AE_ZONE_COLUMN]={
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 },
{ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1 },
{ 1, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 1 },
{ 1, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 1 },
{ 1, 2, 2, 4, 4, 4, 8, 8, 8, 8, 8, 4, 4, 4, 2, 2, 1 },
{ 1, 2, 2, 4, 4, 4, 8, 8, 8, 8, 8, 4, 4, 4, 2, 2, 1 },
{ 1, 2, 2, 4, 4, 4, 8, 8, 8, 8, 8, 4, 4, 4, 2, 2, 1 },
{ 1, 2, 2, 4, 4, 4, 8, 8, 8, 8, 8, 4, 4, 4, 2, 2, 1 },
{ 1, 2, 2, 4, 4, 4, 8, 8, 8, 8, 8, 4, 4, 4, 2, 2, 1 },
{ 1, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 1 },
{ 1, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 1 },
{ 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1 },
{ 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1 },
{ 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1 },};
CVI_ISP_GetAEWinStatistics(ViPipe, &aeWinCfg);
for (i = 0; i < AE_ZONE_ROW; i++)
{
for (j = 0; j < AE_ZONE_COLUMN; j++)
{
aeWinCfg.au8Weight[i][j] = u8Weighttable[i][j];
}
}
CVI_ISP_SetAEWinStatistics(ViPipe, &aeWinCfg);
【相关主题】
无。
40.2.4. CVI_ISP_GetWBStatistics¶
【描述】
获取 ISP AWB统计信息
【语法】
CVI_S32 CVI_ISP_GetWBStatistics(VI_PIPE ViPipe, ISP_WB_STATISTICS_S *pstAwbStat);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstAwbStat |
AWB统计信息 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功。 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无。
【举例】
无。
【相关主题】
无。
40.2.5. CVI_ISP_GetFocusStatistics¶
【描述】
获取ISP AF统计信息
【语法】
CVI_S32 CVI_ISP_GetFocusStatistics(VI_PIPE ViPipe, ISP_AF_STATISTICS_S *pstAfStat);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstAfStat |
AF统计信息 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功。 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无。
【举例】
无。
【相关主题】
无。
40.3. 数据类型¶
40.3.1. ISP_STATISTICS_CTRL_U¶
【说明】
定义 ISP 统计值信息使能
【定义】
typedef union _ISP_STATISTICS_CTRL_U {
CVI_U64 u64Key;
struct {
CVI_U64 bit1FEAeGloStat : 1; /* [0] */
CVI_U64 bit1FEAeLocStat : 1; /* [1] */
CVI_U64 bit1AwbStat1 : 1; /* [2] */
CVI_U64 bit1AwbStat2 : 1; /* [3] */
CVI_U64 bit1FEAfStat : 1; /* [4] */
CVI_U64 bit14Rsv : 59; /* [5:63] */
} ISP_STATISTICS_CTRL_U;
【成员】
成员名称 |
描述 |
---|---|
bit1FEAeGloStat |
AE全局统计值使能 |
bit1FEAeLocStat |
AE分块统计值使能 |
bit1AwbStat1 |
AWB全局统计值使能 |
bit1AwbStat2 |
AWB分块统计值使能 |
bit1FEAfStat |
AF分块统计值使能 |
bit14Rsv |
保留位 |
【注意事项】
无。
【相关数据类型及接口】
无。
40.3.2. ISP_AE_STATISTICS_CFG_S¶
【说明】
AE 统计讯息配置
【定义】
typedef struct _ISP_AE_STATISTICS_CFG_S {
CVI_BOOL bHisStatisticsEnable; /*RW; Range:[0x0,0x1]*/
ISP_AE_CROP_S stCrop[AE_MAX_NUM];
ISP_AE_FACE_CROP_S stFaceCrop[FACE_WIN_NUM];
CVI_BOOL fast2A_ena; /*RW; Range:[0x0,0x1]*/
CVI_U8 fast2A_ae_low; /*RW; Range:[0x0,0xFF]*/
CVI_U8 fast2A_ae_high; /*RW; Range:[0x0,0xFF]*/
CVI_U16 fast2A_awb_top; /*RW; Range:[0x0,0xFFF]*/
CVI_U16 fast2A_awb_bot; /*RW; Range:[0x0,0xFFF]*/
CVI_U16 over_exp_thr; /*RW; Range:[0x0,0x3FF]*/
CVI_U8 au8Weight[AE_WEIGHT_ZONE_ROW][AE_WEIGHT_ZONE_COLUMN]; /*RW; Range:[0x0, 0xF]*/
} ISP_AE_STATISTICS_CFG_S;
【成员】
成员名称 |
描述 |
---|---|
enAESwitch |
海思兼容参数, 目前不使用 |
stHistConfig |
海思兼容参数, 目前不使用 |
enFourPlaneMode |
海思兼容参数, 目前不使用 |
enHistMode |
海思兼容参数, 目前不使用 |
enAverMode |
海思兼容参数, 目前不使用 |
enMaxGainMode |
海思兼容参数, 目前不使用 |
stCrop[AE_MAX_NUM]; |
AE统计值输入图像裁减设定 |
au8Weight[AE_ZONE_ROW][AE_ZONE_COLUMN] |
AE window 17 x 15 的权重设定 |
bHisStatisticsEnable |
AE/Hist sts 使能 |
u8StatisticsShiftBits |
AE 统计值要缩小几个 bit |
u16RGain |
R 通道是否经过 RGain |
u16GGain |
G 通道是否经过 GGain |
u16BGain |
B 通道是否经过 BGain |
【相关数据类型及接口】
CVI_ISP_SetAEWinStatistics
40.3.3. ISP_AE_CROP_S¶
【说明】
AE统计值输入图像裁减设定
【定义】
typedef struct _ ISP_AE_CROP_S {
CVI_BOOL bEnable;
CVI_U16 u16X;
CVI_U16 u16Y;
CVI_U16 u16W;
CVI_U16 u16H;
} ISP_AE_CROP_S;
【成员】
成员名称 |
描述 |
---|---|
bEnable |
Crop使能,0为不使能,将设 置整张图片作为裁减设定,1为使能 |
u16X |
CropX起始位置,取值需大于0 |
u16Y |
CropY起始位置,取值需大于0 |
u16W |
Crop宽度 |
u16H |
Crop高度 |
【注意事项】
无
【相关数据类型及接口】
无。
40.3.4. ISP_AE_FACE_CROP_S¶
【说明】
AE face统计值输入图像裁减设定
【定义】
typedef struct _ISP_AE_FACE_CROP_S {
CVI_BOOL bEnable; /*RW; Range:[0x0,0x1]*/
CVI_U16 u16X; /*RW; Range:[0x00,0x1FFF]*/
CVI_U16 u16Y; /*RW; Range:[0x00,0x1FFF]*/
CVI_U8 u16W; /*RW; Range:[0x00,0xFF]*/
CVI_U8 u16H; /*RW; Range:[0x00,0xFF]*/
} ISP_AE_FACE_CROP_S;
【成员】
成员名称 |
描述 |
---|---|
bEnable |
Crop使能,0为不使能,将设 置整张图片作为裁减设定,1为使能 |
u16X |
CropX起始位置,取值需大于0 |
u16Y |
CropY起始位置,取值需大于0 |
u16W |
Crop宽度 |
u16H |
Crop高度 |
【注意事项】
无
【相关数据类型及接口】
无。
40.3.5. ISP_WB_STATISTICS_CFG_S¶
【说明】
WB 统计讯息配置
【定义】
typedef struct _ISP_WB_STATISTICS_CFG_S {
ISP_AWB_SWITCH_E enAWBSwitch;
CVI_U16 u16ZoneRow;
CVI_U16 u16ZoneCol;
CVI_U16 u16ZoneBin;
CVI_U16 au16HistBinThresh[4];
CVI_U16 u16WhiteLevel;
CVI_U16 u16BlackLevel;
CVI_U16 u16CbMax;
CVI_U16 u16CbMin;
CVI_U16 u16CrMax;
CVI_U16 u16CrMin;
ISP_AWB_CROP_S stCrop;
} ISP_WB_STATISTICS_CFG_S;
【成员】
成员名称 |
描述 |
---|---|
enAWBSwitch |
ISP_AWB_AFTER_DG = 0
ISP_AWB_AFTER_Expander,
ISP_AWB_AFTER_DRC,
ISP_AWB_SWITCH_BUTT
设定AWB block location
|
u16ZoneRow |
AWB统计窗口行数 |
u16ZoneCol |
AWB统计窗口列数 |
u16ZoneBin |
海思兼容参数 , 目前不使用 |
au16HistBinThresh |
海思兼容参数 , 目前不使用 |
u16WhiteLevel |
AWB亮点排除的Threshold设置 |
u16BlackLevel |
AWB暗点排除的Threshold设置 |
u16CbMax |
不同ISO下R/G的最大值 |
u16CbMin |
不同ISO下R/G的最小值 |
u16CrMax |
不同ISO下B/G的最大值 |
u16CrMin |
不同ISO下B/G的最小值 |
【注意事项】
无。
【相关数据类型及接口】
无。
40.3.6. ISP_AWB_CROP_S¶
【说明】
AWB统计值输入图像裁减设定
【定义】
typedef struct _ISP_ AWB_CROP_S {
CVI_BOOL bEnable;
CVI_U16 u16X;
CVI_U16 u16Y;
CVI_U16 u16W;
CVI_U16 u16H;
} ISP_AWB_CROP_S;
【成员】
成员名称 |
描述 |
---|---|
bEnable |
C rop使能,假如0为不使能,将设置整张图片作为裁减设定,假如1为使能 |
u16X |
CropX起始位置,取值需大于0 取值范围:[0, 图像宽度 - 16 * u16ZoneCol] |
u16Y |
CropY起始位置,取值需大于0 取值范围:[0, 图像高度 - 16 * u16ZoneRow] |
u16W |
Crop宽度 取值范围:[16 * u16ZoneCol, 图像宽度] |
u16H |
Crop高度 取值范围:[0, 图像宽度 - 16 * u16ZoneCol] |
【注意事项】
无。
【相关数据类型及接口】
无。
40.3.7. ISP_WB_STATISTICS_S¶
【说明】
定义AWB统计信息
【定义】
typedef struct _ISP_WB_STATISTICS_S {
CVI_U16 u16GlobalR;
CVI_U16 u16GlobalG;
CVI_U16 u16GlobalB;
CVI_U16 u16CountAll;
CVI_U16 au16ZoneAvgR[AWB_ZONE_NUM];
CVI_U16 au16ZoneAvgG[AWB_ZONE_NUM];
CVI_U16 au16ZoneAvgB[AWB_ZONE_NUM];
CVI_U16 au16ZoneCountAll[AWB_ZONE_NUM];
ISP_AWB_GRID_INFO_S stGridInfo;
} ISP_WB_STATISTICS_S;
宏定义
#define AWB_ZONE_ORIG_ROW (32)
#define AWB_ZONE_ORIG_COLUMN (64)
#define AWB_ZONE_NUM (AWB_ZONE_ORIG_ROW * AWB_ZONE_ORIG_COLUMN)
【成员】
成员名称 |
描述 |
---|---|
u16GlobalR |
Bayer域全局R分量的平均值 取值范围: [0, 0x3ff] 数据类型: CVI_BOOL |
u16GlobalG |
Bayer域全局G分量的平均值 取值范围: [0, 0x3ff] 数据类型: CVI_BOOL |
u16GlobalB |
Bayer域全局B分量的平均值 取值范围: [0, 0x3ff] 数据类型: CVI_BOOL |
u16CountAll |
全局统计区域的像素个数 取值范围: [0, 0xffff] 数据类型: CVI_BOOL |
au16ZoneAvgR |
Bayer域分区间R分量的平均值 取值范围: [0, 0x3ff] 数据类型: CVI_BOOL |
au16ZoneAvgG |
Bayer域分区间G分量的平均值 取值范围: [0, 0x3ff] 数据类型: CVI_BOOL |
au16ZoneAvgB |
Bayer域分区间B分量的平均值 取值范围: [0, 0x3ff] 数据类型: CVI_BOOL |
au16ZoneCountAll |
Bayer域分区间的像素个数 取值范围: [0, 0xfff] 数据类型: CVI_BOOL |
ISP_AWB_GRID_INFO_S |
AWB统计信息坐标信息 |
【注意事项】
无。
【相关数据类型及接口】
无。
40.3.8. ISP_AWB_GRID_INFO_S¶
【说明】
AWB统计信息坐标信息
【定义】
typedef struct _ISP_AWB_GRID_INFO_S {
CVI_U16 au16GridYPos[AWB_ZONE_ORIG_ROW + 1];
CVI_U16 au16GridXPos[AWB_ZONE_ORIG_COLUMN + 1];
CVI_U8 u8Status;
} ISP_AWB_GRID_INFO_S;
宏定义
#define AWB_ZONE_ORIG_ROW (32)
#define AWB_ZONE_ORIG_COLUMN (32)
【成员】
成员名称 |
描述 |
---|---|
au16GridYPos |
暂未使用 |
au16GridXPos |
暂未使用 |
u8Status |
暂未使用 |
【注意事项】
无。
【相关数据类型及接口】
无。
40.3.9. ISP_FOCUS_STATISTICS_CFG_S¶
【说明】
AF统计讯息配置
【定义】
typedef struct _ISP_FOCUS_STATISTICS_CFG_S {
ISP_AF_CFG_S stConfig;
ISP_AF_H_PARAM_S stHParam_FIR0;
ISP_AF_H_PARAM_S stHParam_FIR1;
ISP_AF_V_PARAM_S stVParam_FIR;
} ISP_FOCUS_STATISTICS_CFG_S;
【成员】
成员名称 |
描述 |
---|---|
stConfig |
AF全局配置参数 |
stHParam_FIR0 |
水平滤波器第一组FIR参数设置 |
stHParam_FIR1 |
水平滤波器第二组FIR参数设置 |
stVParam_FIR |
垂直滤波器FIR参数设置 |
【注意事项】
无。
【相关数据类型及接口】
无。
40.3.10. ISP_AF_CFG_S¶
【说明】
定义AF统计值参数配置
【定义】
typedef struct _ISP_AF_CFG_S {
CVI_BOOL bEnable;
CVI_U16 u16Hwnd; /*RW; Range:[0x2, 0x11]*/
CVI_U16 u16Vwnd; /*RW; Range:[0x2, 0xF]*/
CVI_U8 u8HFltShift; /*RW; Range:[0x0, 0xF]*/
CVI_S8 s8HVFltLpCoeff[FIR_H_GAIN_NUM]; /*RW; Range:[0x0, 0x1F]*/
ISP_AF_RAW_CFG_S stRawCfg;
ISP_AF_PRE_FILTER_CFG_S stPreFltCfg;
ISP_AF_CROP_S stCrop;
CVI_U8 H0FltCoring; /*RW; Range:[0x0, 0xFF]*/
CVI_U8 H1FltCoring; /*RW; Range:[0x0, 0xFF]*/
CVI_U8 V0FltCoring; /*RW; Range:[0x0, 0xFF]*/
CVI_U16 u16HighLumaTh; /*RW; Range:[0x0, 0xFF]*/
CVI_U8 u8ThLow;
CVI_U8 u8ThHigh;
CVI_U8 u8GainLow; /*RW; Range:[0x0, 0xFE]*/
CVI_U8 u8GainHigh; /*RW; Range:[0x0, 0xFE]*/
CVI_U8 u8SlopLow; /*RW; Range:[0x0, 0xF]*/
CVI_U8 u8SlopHigh; /*RW; Range:[0x0, 0xF]*/
} ISP_AF_CFG_S;
【成员】
成员名称 |
描述 |
---|---|
bEnable |
AF使能,0为不使能,1为使能 |
u16Hwnd |
AF水平方向窗口数,最大可设置为17 取值范围: [0x2, 0x11] 数据类型:CVI_U16 |
u16Vwnd |
AF垂直方向窗口数,最大可设置为15 取值范围: [0x2, 0xf] 数据类型:CVI_U16 |
u8HFltShift |
AF低通滤波器统计值移位寄存器值 取值范围 : [0, 16] 数据类型:CVI_U8 |
s8HVFltLpCoeff[FIR_H_GAIN_NUM] |
AF 低通滤波器系数,用于控制FIR滤波器的频率响应 取值范围 : [-32, 31] 数据类型:CVI_S8 |
stRawCfg |
AF Bayer域相关配置 |
stPreFltCfg |
AF预滤波处理使能设定 |
stCrop |
AF输入图像的裁剪配置 |
u16HighLumaTh |
AF高亮点统计值Threshold设置 取值范围 : [0, 4095] |
【注意事项】
无。
【相关数据类型及接口】
无。
40.3.11. ISP_AF_RAW_CFG_S¶
【说明】
AF Bayer域影像预处理配置
【定义】
typedef struct _ISP_AF_RAW_CFG_S {
CVI_U8 PreGammaEn;
CVI_U8 PreGammaTable[AF_GAMMA_NUM];
} ISP_AF_RAW_CFG_S;
【成员】
成员名称 |
描述 |
---|---|
PreGammaEn |
AF模 块Gamma使能,0为不使能,1为使能 |
PreGammaTable[AF_GAMMA_NUM] |
AF模块Gamma table设置 |
【注意事项】
无。
【相关数据类型及接口】
无。
40.3.12. ISP_AF_PRE_FILTER_CFG_S¶
【说明】
AF Bayer域影像滤波预处理配置
【定义】
typedef struct _ISP_AF_PRE_FILTER_CFG_S {
CVI_BOOL PreFltEn;
} ISP_AF_PRE_FILTER_CFG_S;
【成员】
成员名称 |
描述 |
---|---|
PreFltEn |
AF模块滤波预处理使能,0为不使能,1为使能 |
【注意事项】
无。
【相关数据类型及接口】
无。
40.3.13. ISP_AF_CROP_S¶
【说明】
AF统计值输入图像裁减设定
【定义】
typedef struct _ISP_ AF _CROP_S {
CVI_BOOL bEnable;
CVI_U16 u16X;
CVI_U16 u16Y;
CVI_U16 u16W;
CVI_U16 u16H;
} ISP_AF_CROP_S;
【成员】
成员名称 |
描述 |
---|---|
bEnable |
Crop使能,0为不使能,将设置整张图片作为裁减设定,1为使能 |
u16X |
CropX起始位置 取值范围:[8, 图像宽度 - 8] |
u16Y |
CropY起始位置 取值范围:[2, 图像高度 - 2] |
u16W |
Crop宽度 取值范围:[16 * u16ZoneCol, 图像宽度 - 16] |
u16H |
Crop高度 取值范围:[16 * u16ZoneRow, 图像高度 - 4] |
【注意事项】
无。
【相关数据类型及接口】
无。
40.3.14. ISP_AF_H_PARAM_S¶
【说明】
定义AF水平滤波器参数设置
【定义】
typedef struct _ISP_AF_H_PARAM_S {
CVI_S8 s8HFltHpCoeff[FIR_H_GAIN_NUM];
} ISP_AF_H_PARAM_S;
【成员】
成员名称 |
描述 |
---|---|
s8HFltHpCoeff[FIR_H_GAIN_NUM] |
AF 水平滤波器系数,用于控制FIR滤波器的频率响应 取值范围 : [-32, 31] |
【注意事项】
无。
【相关数据类型及接口】
无。
40.3.15. ISP_AF_V_PARAM_S¶
【说明】
定义AF垂直滤波器参数设置
【定义】
typedef struct _ISP_AF_V_PARAM_S {
CVI_S8 s8VFltHpCoeff[FIR_V_GAIN_NUM];
} ISP_AF_V_PARAM_S;
【成员】
成员名称 |
描述 |
---|---|
s8VFltHpCoeff[FIR_V_GAIN_NUM] |
AF 垂直滤波器系数,用于控制FIR滤波器的频率响应 取值范围 : [-32, 31] |
【注意事项】
无。
【相关数据类型及接口】
无。
40.3.16. ISP_STATISTICS_CFG_S¶
【说明】
ISP 统计讯息配置
【定义】
typedef struct _ISP_STATISTICS_CFG_S {
ISP_STATISTICS_CTRL_U unKey;
ISP_AE_STATISTICS_CFG_S stAECfg;
ISP_WB_STATISTICS_CFG_S stWBCfg;
ISP_FOCUS_STATISTICS_CFG_S stFocusCfg;
} ISP_STATISTICS_CFG_S;
【成员】
成员名称 |
描述 |
---|---|
unKey |
统计信息使能 |
stAECfg |
AE统计信息配置 |
stWBCfg |
WB统计信息配置 |
stFocusCfg |
AF统计信息配置 |
【注意事项】
无。
【相关数据类型及接口】
无。
40.3.17. ISP_FOCUS_ZONE_S¶
【说明】
定义AF计算出的统计结果
【定义】
typedef struct _ISP_FOCUS_ZONE_S {
CVI_U16 u16HlCnt;
CVI_U64 u64h0;
CVI_U64 u64h1;
CVI_U32 u32v0;
} ISP_FOCUS_ZONE_S;
【成员】
成员名称 |
描述 |
---|---|
u16HlCnt |
AF分区间内统计超过高亮点阈值的点数值,将设置整张图片作为裁减设定,1为使能 |
u64h0 |
AF分区间内统计水平方向第一组FIR滤波器的结果 |
u64h1 |
AF分区间内统计水平方向第二组FIR滤波器的结果 |
u32v0 |
AF分区间内统计垂直方向FIR滤波器的结果 |
【注意事项】
无。
【相关数据类型及接口】
无。
40.3.18. ISP_FE_FOCUS_STATISTICS_S¶
【说明】
定义AF FE提供的统计讯息
【定义】
typedef struct _ISP_FE_FOCUS_STATISTICS_S {
ISP_FOCUS_ZONE_S stZoneMetrics[AF_ZONE_ROW][AF_ZONE_COLUMN];
} ISP_FE_FOCUS_STATISTICS_S;
【成员】
成员名称 |
描述 |
---|---|
stZoneMetrics |
ISP AF的分块统计信息 |
【注意事项】
无。
【相关数据类型及接口】
无。
40.3.19. ISP_AF_STATISTICS_S¶
【说明】
定义AF提供的所有统计信息
【定义】
typedef struct _ISP_AF_STATISTICS_S {
ISP_FE_FOCUS_STATISTICS_S stFEAFStat;
} ISP_AF_STATISTICS_S;
【成员】
成员名称 |
描述 |
---|---|
stFEAFStat |
AF在Bayer域的统计信息 |
【注意事项】
无。
【相关数据类型及接口】
无。