28. LCAC

28.1. 功能描述

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

28.2. API 参考

28.2.1. CVI_ISP_SetLCACAttr

【描述】

设置伽玛属性参数

【语法】

CVI_S32 CVI_ISP_SetLCACAttr(VI_PIPE ViPipe,  const ISP_LCAC_ATTR_S *pstLCACAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstLCACAttr

伽玛属性参数

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,其值为 错误码

【需求】

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

  • 库文件: libisp.so

【注意】

无。

【举例】

无。

【相关主题】

28.2.2. CVI_ISP_GetLCACAttr

【描述】

获取伽玛属性参数

【语法】

CVI_S32 CVI_ISP_GetLCACAttr(VI_PIPE ViPipe, ISP_LCAC_ATTR_S *pstLCACAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstCacAttr

伽玛属性参数

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,其值为 错误码

【需求】

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

  • 库文件: libisp.so

【注意】

无。

【举例】

无。

【相关主题】

28.3. 数据类型

28.3.1. ISP_LCAC_GAUSS_COEF_ATTR_S

【说明】

伽玛高斯参数

【定义】

 typedef struct _ISP_LCAC_GAUSS_COEF_ATTR_S {
  CVI_U8 Wgt;
  CVI_U8 Sigma;
} ISP_LCAC_GAUSS_COEF_ATTR_S;

【成员】

成员名称

描述

Wgt

根据边缘强度控制去紫边程度,决定去紫边结果与原图融合的权重曲线。Wgt越大,融合原图的比例越大

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

数据类型: CVI_U8

Sigma

根据边缘强度控制去紫边程度,决定去 紫边结果与原图融合的权重曲线。Sigma越大,跟原图融合的像素数量越多

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

数据类型: CVI_U8

【注意事项】

无。

【相关数据类型及接口】

无。

28.3.2. ISP_LCAC_MANUAL_ATTR_S

【说明】

伽玛属性手动参数

【定义】

 typedef struct _ISP_LCAC_MANUAL_ATTR_S {
  CVI_U16 DePurpleCrGain;
  CVI_U16 DePurpleCbGain;
  CVI_U8 DePurepleCrWgt0;
  CVI_U8 DePurepleCbWgt0;
  CVI_U8 DePurepleCrWgt1;
  CVI_U8 DePurepleCbWgt1;
  CVI_U8 EdgeCoringBase;
  CVI_U8 EdgeCoringAdv;
} ISP_LCAC_MANUAL_ATTR_S;

【成员】

成员名称

描述

DePurpleCrGain

R 通道紫边校正增益

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

数据类型: CVI_U16

DePurpleCbGain

B 通道紫边校正增益

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

数据类型: CVI_U16

DePurepleCrWgt0

长帧 R 通道校正强度混和权重

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

数据类型: CVI_U8

DePurepleCbWgt0

长帧 B 通道校正强度混和权重

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

数据类型: CVI_U8

DePurepleCrWgt1

短帧 R 通道校正强度混和权重

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

数据类型: CVI_U8

DePurepleCbWgt1

短帧 B 通道校正强度混和权重

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

数据类型:CVI_U8

EdgeCoringBase

Base 边缘侦测的噪声抑制控制

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

数据类型: CVI_U8

EdgeCoringAdv

Advance 边缘侦测的噪声抑制控制

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

数据类型: CVI_U8

【注意事项】

无。

【相关数据类型及接口】

28.3.3. ISP_LCAC_AUTO_ATTR_S

【说明】

伽玛属性自动参数

【定义】

 typedef struct _ISP_LCAC_AUTO_ATTR_S {
  CVI_U16 DePurpleCrGain[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U16 DePurpleCbGain[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 DePurepleCrWgt0[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 DePurepleCbWgt0[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 DePurepleCrWgt1[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 DePurepleCbWgt1[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 EdgeCoringBase[ISP_AUTO_ISO_STRENGTH_NUM];
  CVI_U8 EdgeCoringAdv[ISP_AUTO_ISO_STRENGTH_NUM];
} ISP_LCAC_AUTO_ATTR_S;

【成员】

成员名称

描述

DePurpleCrGain

R 通道紫边校正增益

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

数据类型: CVI_U16

DePurpleCbGain

B 通道紫边校正增益

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

数据类型: CVI_U16

DePurepleCrWgt0

长帧 R 通道校正强度混和权重

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

数据类型: CVI_U8

DePurepleCbWgt0

长帧 B 通道校正强度混和权重

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

数据类型: CVI_U8

DePurepleCrWgt1

短帧 R 通道校正强度混和权重

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

数据类型: CVI_U8

DePurepleCbWgt1

短帧 B 通道校正强度混和权重

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

数据类型: CVI_U8

EdgeCoringBase

Base 边缘侦测的噪声抑制控制

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

数据类型: CVI_U8

EdgeCoringAdv

Advance 边缘侦测的噪声抑制控制

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

数据类型: CVI_U8

【注意事项】

无。

【相关数据类型及接口】

28.3.4. ISP_LCAC_ATTR_S

【说明】

伽玛属性参数

【定义】

 typedef struct _ISP_LCAC_ATTR_S {
  CVI_BOOL Enable;
  OP_TYPE_E enOpType;
  CVI_U8 UpdateInterval;
  CVI_U8 TuningMode;
  CVI_U8 DePurpleCrStr0;
  CVI_U8 DePurpleCbStr0;
  CVI_U8 DePurpleCrStr1;
  CVI_U8 DePurpleCbStr1;
  CVI_U8 FilterTypeBase;
  CVI_U8 EdgeGainBase0;
  CVI_U8 EdgeGainBase1;
  CVI_U8 EdgeStrWgtBase;
  CVI_U8 DePurpleStrMaxBase;
  CVI_U8 DePurpleStrMinBase
  CVI_U8 FilterScaleAdv;
  CVI_U8 LumaWgt;
  CVI_U8 FilterTypeAdv;
  CVI_U8 EdgeGainAdv0;
  CVI_U8 EdgeGainAdv1;
  CVI_U8 EdgeStrWgtAdvG;
  CVI_U8 DePurpleStrMaxAdv;
  CVI_U8 DePurpleStrMinAdv;
  ISP_LCAC_GAUSS_COEF_ATTR_S EdgeWgtBase;
  ISP_LCAC_GAUSS_COEF_ATTR_S EdgeWgtAdv;
  ISP_LCAC_MANUAL_ATTR_S stManual;
  ISP_LCAC_AUTO_ATTR_S stAuto;
} ISP_LCAC_ATTR_S;

【成员】

成员名称

描述

Enable

LCAC模块使能

取值范围: [0, 1]

数据类型: CVI_BOOL

enOpType

工作类型

OP_TYPE_AUTO: 自动模式

OP_TYPE_MANUAL: 手动模式

UpdateInterval

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

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

数据类型: CVI_U8

TuningMode

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

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

数据类型: CVI_U8

DePurpleCrStr0

长帧 R 通道校正强度

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

数据类型: CVI_U8

DePurpleCbStr0

长帧 B 通道校正强度

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

数据类型: CVI_U8

DePurpleCrStr1

短帧 R 通道校正强度

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

数据类型: CVI_U8

DePurpleCbStr1

短帧 B 通道校正强度

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

数据类型: CVI_U8

FilterTypeBase

滤波器选择。值越大,去紫边强度越强

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

数据类型: CVI_U8

EdgeGainBase0

长帧边缘侦测的强度增益

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

数据类型: CVI_U8

EdgeGainBase1

短帧边缘侦测的强度增益

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

数据类型: CVI_U8

EdgeStrWgtBase

Base 通道边缘侦测权重

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

数据类型: CVI_U8

DePurpleStrMaxBase

Base 去紫边强度的上限

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

数据类型: CVI_U8

DePurpleStrMinBase

Base 去紫边强度的下限

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

数据类型: CVI_U8

FilterScaleAdv

滤波器尺度参数

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

数据类型: CVI_U8

LumaWgt

亮度混和权重

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

数据类型: CVI_U16

FilterTypeAdv

滤波器选择。值越大,去紫边强度越强

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

数据类型: CVI_U8

EdgeGainAdv0

长帧边缘侦测的强度增益

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

数据类型: CVI_U8

EdgeGainAdv1

短帧边缘侦测的强度增益

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

数据类型: CVI_U8

EdgeStrWgtAdvG

Advance G 通道边缘侦测权重

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

数据类型: CVI_U8

DePurpleStrMaxAdv

Advance 去紫边强度的上限

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

数据类型: CVI_U8

DePurpleStrMinAdv

Advance 去紫边强度的下限

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

数据类型: CVI_U8

EdgeWgtBase

根据边缘强度控制去紫边程度 ,决定去紫边结果与原图融合的权重曲线

EdgeWgtAdv

根据边缘强度控制去紫边程度 ,决定去紫边结果与原图融合的权重曲线

stManual

手动模式参数属性

stAuto

自动模式参数属性

【注意事项】

无。

【相关数据类型及接口】