27. CAC

27.1. 功能描述

色彩畸变校正, 因不同颜色的光折射率不同, 在高亮区与低亮区交界的物体周围容易形成紫边, 以此模块实现图像去紫边功能,改善图像边缘的紫边现象。

27.2. API 参考

27.2.1. CVI_ISP_SetCacAttr

【描述】

设置伽玛属性参数

【语法】

CVI_S32 CVI_ISP_SetCacAttr(VI_PIPE ViPipe,  const ISP_CAC_ATTR_S *pstCacAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstCacAttr

伽玛属性参数

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

无。

【举例】

无。

【相关主题】

27.2.2. CVI_ISP_GetCacAttr

【描述】

获取伽玛属性参数

【语法】

CVI_S32 CVI_ISP_GetCacAttr(VI_PIPE ViPipe, ISP_CAC_ATTR_S *pstCacAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstCacAttr

伽玛属性参数

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

无。

【举例】

无。

【相关主题】

27.3. 数据类型

27.3.1. ISP_CAC_MANUAL_ATTR_S

【说明】

伽玛属性手动参数

【定义】

 typedef struct _ISP_CAC_MANUAL_ATTR_S {
  CVI_U8 DePurpleStr; /*RW; Range:[0x0, 0xFF]*/
  CVI_U8 EdgeGlobalGain; /*RW; Range:[0x0, 0xFF]*/
  CVI_U8 EdgeCoring; /*RW; Range:[0x0, 0xFF]*/
  CVI_U8 EdgeStrMin; /*RW; Range:[0x0, 0xFF]*/
  CVI_U8 EdgeStrMax; /*RW; Range:[0x0, 0xFF]*/
  CVI_U8 DePurpleCbStr; /*RW; Range:[0x0, 0x8]*/
  CVI_U8 DePurpleCrStr; /*RW; Range:[0x0, 0x8]*/
  CVI_U8 DePurpleStrMaxRatio; /*RW; Range:[0x0, 0x40]*/
  CVI_U8 DePurpleStrMinRatio; /*RW; Range:[0x0, 0x40]*/
} ISP_CAC_MANUAL_ATTR_S;

【成员】

成员名称

描述

DePurpleStr

去紫边强度。值越大,紫边现象越少

取值范围: [0x0, 0xff]

数据类型: CVI_U8

EdgeGlobalGain

边缘侦测的强度总增益

取值范围: [0x0, 0xff]

数据类型: CVI_U8

EdgeCoring

边缘侦测的噪声抑制控制

取值范围: [0x0, 0xff]

数据类型: CVI_U8

EdgeStrMin

边缘侦测的强度下限

取值范围: [0x0, 0xff]

数据类型: CVI_U8

EdgeStrMax

边缘侦测的强度上限

取值范围: [0x0, 0xff]

数据类型: CVI_U8

DePurpleCbStr

B 通道 紫边校正边强度。值越大,紫边现象越少

取值范围: [0x0, 0x8]

数据类型: CVI_U8

DePurpleCrStr

R 通道 紫边校正边强度。值越大,紫边现象越少

取值范围: [0x0, 0x8]

数据类型: CVI_U8

DePurpleStrMaxRatio

去紫边强度可允许之最大增益

取值范围: [0x0, 0x40]

数据类型: CVI_U8

DePurpleStrMinRatio

去紫边强度可允许之最小增益

取值范围: [0x0, 0x40]

数据类型: CVI_U8

【注意事项】

无。

【相关数据类型及接口】

27.3.2. ISP_CAC_AUTO_ATTR_S

【说明】

伽玛属性自动参数

【定义】

 typedef struct _ISP_CAC_AUTO_ATTR_S {
  CVI_U8 DePurpleStr[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 EdgeGlobalGain[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 EdgeCoring[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 EdgeStrMin[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 EdgeStrMax[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 DePurpleCbStr[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 DePurpleCrStr[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 DePurpleStrMaxRatio[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 DePurpleStrMinRatio[ISP_AUTO_ISO_STRENGTH_NUM];
} ISP_CAC_AUTO_ATTR_S;

【成员】

成员名称

描述

DePurpleStr

去紫边强度。值越大,紫边现象越少

取值范围: [0x0, 0xff]

数据类型: CVI_U8

EdgeGlobalGain

边缘侦测的强度总增益

取值范围: [0x0, 0xff]

数据类型: CVI_U8

EdgeCoring

边缘侦测的噪声抑制控制

取值范围: [0x0, 0xff]

数据类型: CVI_U8

EdgeStrMin

边缘侦测的强度下限

取值范围: [0x0, 0xff]

数据类型: CVI_U8

EdgeStrMax

边缘侦测的强度上限

取值范围: [0x0, 0xff]

数据类型: CVI_U8

DePurpleCbStr

B 通道 紫边校正边强度。值越大,紫边现象越少

取值范围: [0x0, 0x8]

数据类型: CVI_U8

DePurpleCrStr

R 通道 紫边校正边强度。值越大,紫边现象越少

取值范围: [0x0, 0x8]

数据类型: CVI_U8

DePurpleStrMaxRatio

去紫边强度可允许之最大增益

取值范围: [0x0, 0x40]

数据类型: CVI_U8

DePurpleStrMinRatio

去紫边强度可允许之最小增益

取值范围: [0x0, 0x40]

数据类型: CVI_U8

【注意事项】

无。

【相关数据类型及接口】

27.3.3. ISP_CAC_ATTR_S

【说明】

伽玛属性参数

【定义】

 typedef struct _ISP_CAC_ATTR_S {
  CVI_BOOL Enable;
  ISP_OP_TYPE_E enOpType;
  CVI_U8 UpdateInterval;
  CVI_U8 PurpleDetRange;
  CVI_U8 PurpleCb;
  CVI_U8 PurpleCr;
  CVI_U8 PurpleCb2;
  CVI_U8 PurpleCr2;
  CVI_U8 PurpleCb3;
  CVI_U8 PurpleCr3;
  CVI_U8 GreenCb;
  CVI_U8 GreenCr;
  CVI_U8 TuningMode;
  CVI_U8 EdgeGainIn[3];
  CVI_U8 EdgeGainOut[3];
  ISP_CAC_MANUAL_ATTR_S stManual;
  ISP_CAC_AUTO_ATTR_S stAuto;
} ISP_CAC_ATTR_S;

【成员】

成员名称

描述

Enable

CAC模块使能

取值范围: [0, 1]

数据类型: CVI_BOOL

enOpType

工作类型

OP_TYPE_AUTO: 自动模式

OP_TYPE_MANUAL: 手动模式

UpdateInterval

影响参数更新间隔,值越大画面变化越慢,效能越好

取值范围: [0x0, 0xff]

数据类型: CVI_U8

PurpleDetRange

紫边侦测的阈值。值越大,越多区域被判断为紫边

取值范围:[0x0, 0x80]

数据类型: CVI_U8

PurpleCb

紫色在Cb domain的坐标

取值范围: [0x0, 0xff]

数据类型: CVI_U8

PurpleCr

紫色在Cr domain的坐标

取值范围: [0x0, 0xff]

数据类型: CVI_U8

PurpleCb2

紫色2在Cb domain的坐标

取值范围: [0x0, 0xff]

数据类型: CVI_U8

PurpleCr2

紫色2在Cr domain的坐标

取值范围: [0x0, 0xff]

数据类型: CVI_U8

PurpleCb3

紫色3在Cb domain的坐标。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

PurpleCr3

紫色3在Cr domain的坐标

取值范围: [0x0, 0xff]

数据类型: CVI_U8

GreenCb

绿色在Cb domain的坐标

取值范围: [0x0, 0xff]

数据类型: CVI_U8

GreenCr

绿色在Cr domain的坐标

取值范围: [0x0, 0xff]

数据类型: CVI_U8

TuningMode

输出元文件案,辅助调节参数。

0: CAC图像结果。

1: 边缘侦测图像结果。

2:紫边侦测图像结果

取值范围: [0x0, 0x2]

数据类型: CVI_U8

EdgeGainIn[3]

由四个数值组成的数组。定义边缘强度 等级,值越大,边缘强度越强

取值范围:[0x0, 0x20]

数据类型: CVI_U8

EdgeGainOut[3]

由四 个数值组成的数组。定义边缘强度增益,值越大,输出的边缘强度越强

取值范围:[0x0, 0x20]

数据类型: CVI_U8

stManual

手动模式参数属性

stAuto

自动模式参数属性

【注意事项】

【相关数据类型及接口】