#include "main_colour_extractor.h" #include // CONSTRUCTORS MainColourExtractor::MainColourExtractor(size_t h_levels, size_t s_levels, size_t l_levels) : ColourExtractor(h_levels, s_levels, l_levels) { } // PROTECTED FUNCS size_t MainColourExtractor::evaluate_colour(struct ColourHSL hsl, double weight) const { size_t result = 0; result = static_cast(round(1000.0 * pow(weight, 0.3) * (hsl.s + 1.0 / m_s_levels) * ((1.0 - fabs(2 * hsl.l - 1.0)) * (1 - 1.0 / m_l_levels) + 1.0 / m_l_levels))); return result; }