29. RGBCAC

29.1. 功能描述

实现图像去紫边功能,改善图像边缘的紫边现象。

29.2. API 参考

29.2.1. CVI_ISP_SetRGBCACAttr

【描述】

设置伽玛属性参数

【语法】

CVI_S32 CVI_ISP_SetRGBCACAttr(VI_PIPE ViPipe,  const ISP_RGBCAC_ATTR_S * pstRGBCACAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstRGBCACAttr

伽玛属性参数

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,其值为 错误码

【需求】

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

  • 库文件: libisp.so

【注意】

无。

【举例】

无。

【相关主题】

29.2.2. CVI_ISP_GetRGBCACAttr

【描述】

获取伽玛属性参数

【语法】

CVI_S32 CVI_ISP_GetRGBCACAttr(VI_PIPE ViPipe, ISP_RGBCAC_ATTR_S * pstRGBCACAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstRGBCACAttr

伽玛属性参数

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,其值为 错误码

【需求】

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

  • 库文件: libisp.so

【注意】

无。

【举例】

无。

【相关主题】

29.3. 数据类型

29.3.1. ISP_RGBCAC_MANUAL_ATTR_S

【说明】

伽玛属性手动参数

【定义】

 typedef struct _ISP_RGBCAC_MANUAL_ATTR_S {
  CVI_U8 DePurpleStr0; /*RW; Range:[0x0, 0xFF]*/
  CVI_U8 DePurpleStr1; /*RW; Range:[0x0, 0xFF]*/
  CVI_U16 EdgeCoring; /*RW; Range:[0x0, 0xFFF]*/
  CVI_U8 DePurpleCrStr0; /*RW; Range:[0x0, 0x10]*/
  CVI_U8 DePurpleCbStr0; /*RW; Range:[0x0, 0x10]*/
  CVI_U8 DePurpleCrStr1; /*RW; Range:[0x0, 0x10]*/
  CVI_U8 DePurpleCbStr1; /*RW; Range:[0x0, 0x10]*/
} ISP_RGBCAC_MANUAL_ATTR_S;

【成员】

成员名称

描述

DePurpleStr0

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

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

数据类型: CVI_U8

DePurpleStr1

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

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

数据类型: CVI_U8

EdgeCoring

边缘侦测的噪声抑制控制

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

数据类型: CVI_U16

DePurpleCrStr0

长帧 R 通道校正边强度

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

数据类型: CVI_U8

DePurpleCbStr0

长帧 B 通道校正边强度

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

数据类型: CVI_U8

DePurpleCrStr1

短帧 R 通道校正边强度

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

数据类型: CVI_U8

DePurpleCbStr1

短帧 B 通道校正边强度

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

数据类型: CVI_U8

【注意事项】

无。

【相关数据类型及接口】

29.3.2. ISP_RGBCAC_AUTO_ATTR_S

【说明】

伽玛属性自动参数

【定义】

 typedef struct _ISP_RGBCAC_AUTO_ATTR_S {
  CVI_U8 DePurpleStr0[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 DePurpleStr1[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U16 EdgeCoring[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 DePurpleCrStr0[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 DePurpleCbStr0[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 DePurpleCrStr1[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 DePurpleCbStr1[ISP_AUTO_ISO_STRENGTH_NUM];
} ISP_RGBCAC_AUTO_ATTR_S;

【成员】

成员名称

描述

DePurpleStr0

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

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

数据类型: CVI_U8

DePurpleStr1

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

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

数据类型: CVI_U8

EdgeCoring

边缘侦测的噪声抑制控制

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

数据类型: CVI_U16

DePurpleCrStr0

长帧 R 通道校正边强度

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

数据类型: CVI_U8

DePurpleCbStr0

长帧 B 通道校正边强度

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

数据类型: CVI_U8

DePurpleCrStr1

短帧 R 通道校正边强度

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

数据类型: CVI_U8

DePurpleCbStr1

短帧 B 通道校正边强度

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

数据类型: CVI_U8

【注意事项】

无。

【相关数据类型及接口】

29.3.3. ISP_RGBCAC_ATTR_S

【说明】

伽玛属性参数

【定义】

 typedef struct _ISP_RGBCAC_ATTR_S {
  CVI_BOOL Enable;
  ISP_OP_TYPE_E enOpType;
  CVI_U16 VarThr;
  CVI_U8 PurpleDetRange0;
  CVI_U8 PurpleDetRange1;
  CVI_U8 DePurpleStrMax0;
  CVI_U8 DePurpleStrMin0;
  CVI_U8 DePurpleStrMax1;
  CVI_U8 DePurpleStrMin1;
  CVI_U16 EdgeGlobalGain;
  CVI_U8 EdgeGainIn[3];
  CVI_U8 EdgeGainOut[3];
  CVI_U16 LumaScale;
  CVI_U16 UserDefineLuma;
  CVI_U8 LumaBlendWgt;
  CVI_U8 LumaBlendWgt2;
  CVI_U8 LumaBlendWgt3;
  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;
  ISP_RGBCAC_MANUAL_ATTR_S stManual;
  ISP_RGBCAC_AUTO_ATTR_S stAuto;
} ISP_RGBCAC_ATTR_S;

【成员】

成员名称

描述

Enable

CAC模块使能

取值范围: [0, 1]

数据类型: CVI_BOOL

enOpType

工作类型

OP_TYPE_AUTO: 自动模式

OP_TYPE_MANUAL: 手动模式

VarThr

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

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

数据类型: CVI_U16

PurpleDetRange0

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

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

数据类型: CVI_U8

PurpleDetRange1

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

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

数据类型: CVI_U8

DePurpleStrMax0

长帧去紫边强度可允许之最大值

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

数据类型: CVI_U8

DePurpleStrMin0

长帧去紫边强度可允许之最小值

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

数据类型: CVI_U8

DePurpleStrMax1

短帧去紫边强度可允许之最大值

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

数据类型: CVI_U8

DePurpleStrMin1

短帧去紫边强度可允许之最小值

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

数据类型: CVI_U8

EdgeGlobalGain

边缘侦测的强度总增益

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

数据类型: CVI_U16

EdgeGainIn[3]

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

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

数据类型: CVI_U8

EdgeGainOut[3]

由四个数值组成的数组。定义 边缘强度增益,值越大,去紫边效果越强

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

数据类型: CVI_U8

LumaScale

亮度控制

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

数据类型: CVI_U16

UserDefineLuma

自定义亮度值

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

数据类型: CVI_U16

LumaBlendWgt

输入/输出

LumaBlendWgt2

亮度 2 的融合权重

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

数据类型: CVI_U8

LumaBlendWgt3

亮度 3 的融合权重

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

数据类型: 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

输出调试方案,辅助调节参数。

1: 边缘侦测图像结果。

2: 紫边侦测图像结果

0:的 CAC图像结果。

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

数据类型: CVI_U8

stManual

手动模式参数属性

stAuto

自动模式参数属性

【注意事项】

无。

【相关数据类型及接口】