【发布时间】:2011-05-09 10:55:33
【问题描述】:
有人告诉我使用距离公式来查找颜色是否与另一种颜色匹配,所以我有,
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.
}
【问题讨论】: