---
title: hi_isp_cmos_sharpen_manual
description: "定义sharpen manual档的CMOS参数。"
url: https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/latest/others/ispdevug/ispdevapi_0115.html
sourcePath: /source/zh/CANNCommunityEdition/920beta1/others/ispdevug/ispdevapi_0115.html
indexId: f8776b33ff5618b79ac3fcc7af77f878ebbf3acc7ce0dcb7ebad61b7b843632d76
---
# hi_isp_cmos_sharpen_manual

#### 说明

定义sharpen manual档的CMOS参数。


#### 定义

```
typedef struct {
hi_u8  luma_wgt[HI_ISP_SHARPEN_LUMA_NUM];
hi_u16 texture_strength[HI_ISP_SHARPEN_GAIN_NUM];
hi_u16 edge_strength[HI_ISP_SHARPEN_GAIN_NUM];
hi_u16 texture_freq;
hi_u16 edge_freq;
hi_u8  over_shoot;
hi_u8  under_shoot;
hi_u8  shoot_sup_strength;
hi_u8  shoot_sup_adj;
hi_u8  detail_ctrl;
hi_u8  detail_ctrl_thr;
hi_u8  edge_filt_str;
hi_u8  edge_filt_max_cap;
hi_u8  r_gain;
hi_u8  g_gain;
hi_u8  b_gain;
hi_u8  skin_gain;
hi_u16 max_sharp_gain;
} hi_isp_cmos_sharpen_manual;
```


#### 成员

| 成员名称 | 描述 |
| --- | --- |
| luma\_wgt[HI\_ISP\_SHARPEN\_LUMA\_NUM] | 亮度锐化权重。 满量程0\-255的亮度被32个等分点平均分为32段亮度区间，每一段亮度区间对应一个亮度权重。比如0\-7的亮度区间的权重是luma\_wgt[0]，8\-15的亮度区间的权重是luma\_wgt[1]，依次类推。如图1所示。值越大，图像锐化程度越高，反之，越弱。 取值范围：[0, 127]，建议值 127。 \#define HI\_ISP\_SHARPEN\_LUMA\_NUM 32 |
| texture\_strength[HI\_ISP\_SHARPEN\_GAIN\_NUM] | 该参数用于设置图像无方向的细节纹理的锐度。 该值越大，无方向的细节纹理的清晰度越高。 该参数是一个长度为32的数组，是一个32段的连续的强度曲线，如图2所示。 取值范围：[0, 4095]，建议值300。 \#define HI\_ISP\_SHARPEN\_GAIN\_NUM 32 |
| edge\_strength[HI\_ISP\_SHARPEN\_GAIN\_NUM] | 该参数用于设置图像带方向的边缘的锐度。 该值越大，带方向的边缘的锐度越高。 该参数是一个长度为32的数组，是一个32段的连续的强度曲线，如图3所示。 取值范围：[0, 4095]，建议值400。 |
| texture\_freq | 该参数用于设置图像的无方向细节纹理增强的频率。 该值越大，细节纹理的增强就越偏向于高频增强，细节纹理就越细碎。反之，该值越小，细节纹理就越粗越圆润。 texture\_freq对应于强度参数texture\_strength。texture\_freq越大，图像的细节纹理就越细碎，该值过大，会导致图像的细节纹理过于细碎而不自然，甚至感觉模糊。 取值范围：[0, 4095]，建议值128。 |
| edge\_freq | 该参数用于设置图像的带方向的边缘增强频率。 该值越大，边缘的增强就越偏向于高频增强，图像的边缘就越纤薄越窄。反之，该值越小，边缘就越粗越圆润。edge\_freq对应于强度参数edge\_strength。edge\_freq越大，图像的边缘就越纤薄越窄，该值过大，会导致图像的边缘过于纤薄而出现虚边现象。 取值范围：[0, 4095]，建议值96。 |
| over\_shoot | 设置图像的overshoot（锐化后的白边白点）的强度。 该值越小，锐化后的白边白点越弱，清晰度也会下降。该值过小，图像会呈油画效果。 取值范围：[0, 127]，建议值100。 |
| under\_shoot | 设置图像的undershoot（锐化后的黑边黑点）的强度。 该值越小，锐化后的黑边黑点越弱，清晰度也会下降。该值过小，图像会呈油画效果。 取值范围：[0, 127]，建议值127。 |
| shoot\_sup\_strength | 设置图像锐化后的overshoot和undershoot的抑制强度。用于在保证清晰度不明显下降的前提下，抑制锐化后的图像的overshoot和undershoot的宽度和幅度。 该值越大，锐化后的图像的overshoot和undershoot的宽度越窄、强度越小。该值变大，理论上不会影响图像的清晰度，只是黑白边变窄以后，会减弱人眼的锐度感受。 该参数需要和shoot\_sup\_adj配合使用。 取值范围：[0, 255]，建议值8。 |
| shoot\_sup\_adj | 用于对图像锐化后的overshoot和undershoot的抑制强度进行调节。 该参数配合shoot\_sup\_strength使用，用于调节shoot\_sup\_strength作用的区域范围。该值越小，则越多的纹理区域的shoot会被shoot\_sup\_strength抑制；该值越大，则只有很强的边缘的shoot会被shoot\_sup\_strength抑制，纹理区域的shoot不会被抑制。 取值范围：[0, 15]，建议值9。 |
| detail\_ctrl | 用于控制图像的细节纹理区域的shoot强度，shoot越大，细节纹理区的清晰度越高。 若该值等于128，则图像的细节纹理区域的shoot强度和大边缘的shoot强度一致，都分别等于over\_shoot和under\_shoot。 若该值大于128，则图像的细节纹理的shoot强度大于大边缘，大边缘的shoot强度分别等于over\_shoot和under\_shoot。 若该值小于128，则图像的细节纹理的shoot强度小于大边缘，大边缘的shoot强度分别等于over\_shoot和under\_shoot。 取值范围：[0, 255]。 |
| detail\_ctrl\_thr | 图像的细节纹理区的shoot强度的控制阈值。 该值配合detail\_ctrl使用，用于区分detail\_ctrl所控制shoot的纹理区和边缘，也即纹理区和边缘的区分阈值。小于该值的区域为纹理区，该纹理区域的shoot会被detail\_ctrl单独控制，而大于该阈值的边缘区域的shoot依然等于over\_shoot和under\_shoot。 取值范围：[0, 255]，建议值160。 |
| edge\_filt\_str | 边缘滤波强度调试参数，实现图像锐化边缘的范围和边缘平滑强度的控制。 该值越大，判为边缘的区域越多、也越宽，edge\_strength起作用的图像边缘就越多，而且，该值越大，沿着边缘方向的平滑滤波强度也越大，边缘就越平滑。反之，判为边缘的区域越少、也越窄，edge\_strength起作用的图像区域越少，边缘平滑就越弱。 取值范围：[0, 63]，建议值53。 |
| edge\_filt\_max\_cap | 边缘滤波强度范围的调试参数，该值越大，边缘滤波的最大强度也最大，edge\_filt\_strength的可调试范围也越大。 一般建议该值大小控制30以内。 取值范围：[0, 47]，建议值18。 |
| r\_gain | 深红色区域的锐化增益控制参数。该值越大，则深红色区域的锐化强度越大。 取值范围：[0, 31]，建议值28。 |
| g\_gain | 绿色区域的锐化增益控制参数。该值越大，则绿色区域的锐化强度越大。 取值范围：[0, 255]，建议值32。 |
| b\_gain | 深蓝色区域的锐化增益控制参数。该值越大，则深蓝色区域的锐化强度越大。 取值范围：[0, 31]，建议值 28。 |
| skin\_gain | 肤色区域的锐化增益控制参数。该值越大，则肤色区域的锐化强度越大。 取值范围：[0, 31]，建议值23。 |
| max\_sharp\_gain | 图像锐化的最大增益限制值参数。该值越大，图像的锐化幅度越大，反之，锐化幅度越小。适当的调小该参数，可以减少图像的过锐化，减少图像锐化后的黑白点。 取值范围：[0, 0x7FF]，建议值0xA0。 |
