И нужно чтобы степень схожести цветов можно было задавать.Ширина диапазонов канала и модульное расстояние между конкретными отношениями цветов (дробями). Т.е. собираете превалирующие цвета в кластер и сравниваете не один цвет внутри диапазона, а сразу несколько (из кластера).
R=abs(Rbase-R)
G=abs(Gbase-G)
B=abs(Bbase-B)
D=(sqrt(R^2+G^2)+sqrt(G^2+B^2)+sqrt(B^2+R^2))/3