[libcamera-devel] [PATCH v2 04/13] ipa: ipu3: awb: Change minimal green threshold value

Laurent Pinchart laurent.pinchart at ideasonboard.com
Thu Oct 21 04:12:46 CEST 2021


Hi Jean-Michel,

Thank you for the patch.

On Wed, Oct 20, 2021 at 05:45:58PM +0200, Jean-Michel Hautbois wrote:
> When zones are used for the grey world algorithm, they are only
> considered if their average green value is at least 32/255 to exclude
> zones that are too dark and don't provide relevant colour information
> (on the opposite side of the spectrum, saturated regions are excluded by
> the ImgU statistics engine).
> 
> The algorithm requires a minimal number of zones that meet this criteria
> in order to run. Now that we correct the black level, the 32/255 minimal
> value is a bit high and prevents the algorithm for running in low-light
> conditions. Lower the value to 16/255 to fix it.
> 
> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois at ideasonboard.com>
> Acked-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
>  src/ipa/ipu3/algorithms/awb.cpp | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/src/ipa/ipu3/algorithms/awb.cpp b/src/ipa/ipu3/algorithms/awb.cpp
> index 62c72cce..1ffb431b 100644
> --- a/src/ipa/ipu3/algorithms/awb.cpp
> +++ b/src/ipa/ipu3/algorithms/awb.cpp
> @@ -17,7 +17,13 @@ namespace ipa::ipu3::algorithms {
>  
>  LOG_DEFINE_CATEGORY(IPU3Awb)
>  
> -static constexpr uint32_t kMinGreenLevelInZone = 32;
> +/*
> + * When zones are used for the grey world algorithm, they are only considered if
> + * their average green value is at least 16/255 to exclude zones that are too

 * their average green value is at least 16/255 (after black level subtraction)
 * to exclude zones that are too ...

> + * dark and don't provide relevant colour information (on the opposite side of
> + * the spectrum, saturated regions are excluded by the ImgU statistics engine).
> + */
> +static constexpr uint32_t kMinGreenLevelInZone = 16;
>  
>  /* Minimum proportion of cells counted within a zone for it to be relevant */
>  static constexpr double kMinRelevantCellsRatio = 0.8;

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list