mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-24 00:55:07 +03:00
libtuning: Add initial AWB module
This AWB module uses the awb function from Raspberry Pi to calculate the needed white balance gains per colour temperature. It stores these gains in the tuning file. Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
731cc02e79
commit
b1ec488f1b
3 changed files with 69 additions and 0 deletions
36
utils/tuning/libtuning/modules/awb/awb.py
Normal file
36
utils/tuning/libtuning/modules/awb/awb.py
Normal file
|
@ -0,0 +1,36 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#
|
||||
# Copyright (C) 2024, Ideas On Board
|
||||
|
||||
import logging
|
||||
|
||||
from ..module import Module
|
||||
|
||||
from libtuning.ctt_awb import awb
|
||||
import numpy as np
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class AWB(Module):
|
||||
type = 'awb'
|
||||
hr_name = 'AWB (Base)'
|
||||
out_name = 'GenericAWB'
|
||||
|
||||
def __init__(self, *, debug: list):
|
||||
super().__init__()
|
||||
|
||||
self.debug = debug
|
||||
|
||||
def do_calculation(self, images):
|
||||
logger.info('Starting AWB calculation')
|
||||
|
||||
imgs = [img for img in images if img.macbeth is not None]
|
||||
|
||||
gains, _, _ = awb(imgs, None, None, False)
|
||||
gains = np.reshape(gains, (-1, 3))
|
||||
|
||||
return [{
|
||||
'ct': int(v[0]),
|
||||
'gains': [float(1.0 / v[1]), float(1.0 / v[2])]
|
||||
} for v in gains]
|
Loading…
Add table
Add a link
Reference in a new issue