hi_isp_awb_extra_light_source_info
Description
Defines the information about a separate illuminant.
Definition
typedef struct {
hi_u16 white_r_gain;
hi_u16 white_b_gain;
hi_u16 exp_quant;
hi_u8 light_status;
hi_u8 radius;
} hi_isp_awb_extra_light_source_info;
Members
Member |
Description |
|---|---|
white_r_gain |
Cr coordinate of the center of the region to be added or deleted (8-bit decimal precision) Value range: [0x0, 0xFFF] |
white_b_gain |
Cb coordinate of the center of the region to be added or deleted (8-bit decimal precision) Value range: [0x0, 0xFFF] |
exp_quant |
Reserved |
light_status |
Illuminant status 0: disabled 1: illuminant added 2: interference color deleted |
radius |
Radius of the region to be added or deleted Value range: [0x0, 0xFF] |
Restrictions
- The independent illuminant can implement the following functions: 1). Specify a region in the user-defined Cb/Cr coordinates as the white color under a special illuminant and add it as an independent illuminant; 2). Delete the region if it is specified as an interference color under a special illuminant.
- You can add or delete a region by setting light_status. When light_status is set to 1, a special illuminant outside the corrected Planckian curve is added to optimize the color effect under this illuminant while exerting no effect on the color effect under other illuminants. When light_status is set to 2, an interference color (for example, complexion color, green, or sky blue) under a specific illuminant can be deleted.
- You are advised to delete an interference color only to optimize the color effect under a specific illuminant. Otherwise, the color effect under other illuminants will be affected. At the Cb/Cr coordinates, complexion under the 5500K illuminant has large overlaps with the white color under the 3500K illuminant. If the interference of complexion is removed in the 5500K environment, a color cast occurs under the 3500K illuminant.
- Values of white_r_gain and white_b_gain: Rgain and Bgain calibrated by the calibration tool Static WB from the ColorChecker Raw data captured under an illuminant is the coordinate values of white_r_gain and white_b_gain. If you want to delete a region corresponding to an interference color, you can determine the values of white_r_gain and white_b_gain by performing static WB correction on this region.
- You can set radius as required. To add an independent illuminant, set the value in the range of [0x8, 0x10]. To delete an interference color, set it to a proper value to prevent the circular region whose center cannot fall within the range of [white_r_gain, white_b_gain] and radius cannot be the value of radius from being overlapped the Plankcian curve. When the radius is set to a large value (covering most statistical blocks in the scenario) during illuminant addition or interference color deletion, the effect becomes invalid or even counterproductive.
- Currently at most four independent illuminants are supported. The four illuminants must be completely independent of each other. Note that a single point within the Cb/Cr coordinates cannot be specified as an independent illuminant and an interference color at the same time.
Parent topic: Data Types