Я хочу сравнить компоненты с их заполненными цветами, если они равны или нет, я делаю следующий алгоритм, я делаю усреднение для RGB следующим образом
double avg1 =(comp[0].Red+comp[0].Blue+comp[0].Green)/3;
double avg2 =(comp[1].Red+comp[1].Blue+comp[1].Green)/3;
, затем сравниваю их следующим образом
double ratio = avg1/avg2 ;
if(ratio > 0.8 && ratio < 1.2){} //then they are supposed to be equal
но этот способ совсем не точен
после поиска я обнаружил, что лучший способ - преобразовать изображение в пространство HSL и сравнить, но я не могу понять, как сравнить 2 цвета?!! здесь
другими словами после преобразования изображения в пространство HSL, что я могу сделать?!
помогите пожалуйста !!
модификация к вопросу для большей ясности я имею в виду компонент (последовательность точек), так что на этапе усреднения я на самом деле возвращаюсь ко всем точкам, вычисляя сумму среднего значения rgb для каждого пикселя, затем делаю усреднение по общему количеству точек