我被告知使用距離公式找到,如果顏色匹配,另一個讓我有,查找最近的RGB顏色
struct RGB_SPACE
{
float R, G, B;
};
RGB_SPACE p = (255, 164, 32); //pre-defined
RGB_SPACE u = (192, 35, 111); //user defined
long distance = static_cast<long>(pow(u.R - p.R, 2) + pow(u.G - p.G, 2) + pow(u.B - p.B, 2));
此只給出一個距離,但我怎麼知道,如果顏色匹配用戶定義至少25%?
我不是很確定,但我有一個想法,檢查每個顏色值,看看差異是否是25%。例如。
float R = u.R/p.R * 100;
float G = u.G/p.G * 100;
float B = u.B/p.B * 100;
if (R <= 25 && G <= 25 && B <= 25)
{
//color matches with pre-defined color.
}
實際上是[lab](http://en.wikipedia。org/wiki/Lab_color_space)基於人類解釋的空間 – zenpoy 2012-03-05 15:18:21