Допустим мы имеем 16 основных цветов, для простоты буду манипулировать их hex представление цвета в RGB.
И так, есть цвет #151515 и он ближе всего к #000000 (черный). Или #aca603 ближе всего к #ffff00 (жёлтый). Думаю суть понятна.
Использование: в фильтре, т.е. определяем доминирующие цвета на картинке, после чего находим близкие цвета по основным 16-ти. В фильтре выводим только основные 16-ть. Профит