Тебе нужна функция цветовой дистанции между двумя цветами. Типа
double getDistance(int rgb1, int rgb2) {
....
}
Формула будет похожа на взвешенную сумму цвета как ты писал выше. Только в цветах
нужны будут разности r1 - r2 e.t.c. И взять декартово расстояние.
Она будет возрващать от 0 до некоторого максимального вещественного. Если 0 - то цвета идентичны.
Задаешь порог чувствительности например 5% и если цвета rgb1 и rgb2 близки - то соотв. считаешь
что совпадение было. Сравнивать по знаку == цвета нельзя в фотографиях. Там очень редко
бывает численное совпадение. Практически - никогда не бывает.