/* SPDX-License-Identifier: BSD-2-Clause */ /* * Copyright (C) 2019, Raspberry Pi (Trading) Limited * * black_level.cpp - black level control algorithm */ #include #include #include "../black_level_status.h" #include "../logging.hpp" #include "black_level.hpp" using namespace RPiController; #define NAME "rpi.black_level" BlackLevel::BlackLevel(Controller *controller) : Algorithm(controller) { } char const *BlackLevel::Name() const { return NAME; } void BlackLevel::Read(boost::property_tree::ptree const ¶ms) { RPI_LOG(Name()); uint16_t black_level = params.get( "black_level", 4096); // 64 in 10 bits scaled to 16 bits black_level_r_ = params.get("black_level_r", black_level); black_level_g_ = params.get("black_level_g", black_level); black_level_b_ = params.get("black_level_b", black_level); } void BlackLevel::Prepare(Metadata *image_metadata) { // Possibly we should think about doing this in a switch_mode or // something? struct BlackLevelStatus status; status.black_level_r = black_level_r_; status.black_level_g = black_level_g_; status.black_level_b = black_level_b_; image_metadata->Set("black_level.status", status); } // Register algorithm with the system. static Algorithm *Create(Controller *controller) { return new BlackLevel(controller); } static RegisterAlgorithm reg(NAME, &Create); '>git repository hosting on libcamera.org
summaryrefslogtreecommitdiff
blob: ed2339fd1369ffc658dc7d367a60d1269ec612d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
"""
Some code that will save virtual macbeth charts that show the difference between optimised matrices and non optimised matrices

The function creates an image that is 1550 by 1050 pixels wide, and fills it with patches which are 200x200 pixels in size
Each patch contains the ideal color, the color from the original matrix, and the color from the final matrix
_________________
|               |
|  Ideal Color  |
|_______________|
|  Old  |  new  |
| Color | Color |
|_______|_______|

Nice way of showing how the optimisation helps change the colors and the color matricies
"""
import numpy as np
from PIL import Image


def visualise_macbeth_chart(macbeth_rgb, original_rgb, new_rgb, output_filename):
    image = np.zeros((1050, 1550, 3), dtype=np.uint8)