Я вот думаю, что что-то недопонимаю. Этот "вор-цветов" ведь тащит для нас преобладающий цвет? Зачем все потом пересчитывать? Если у нас есть цвет, то мы можем ведь в css через переменную все рассчитать как нужно потом.
Смысл такой: да мы получаем мэйн цвет. Но у каждой картинки saturation и lightness будет разный.
Нам нужно их уровнять, чтобы везде было одинаково, при этом цвет Hue — был один .
Поэтому мы берём наш RGB и переводим в HSL. Вернее не полностью в HSL а только в H (hue), добавляем SL, которые у нас одинаковые на всех фото, и ставим в оверлей.
Таким образом мы получаем разные цвета оверлея, но одинаковую яркость ( L - lightness ) и насыщенность ( S - saturation)