更多的事情相对简单,但对于他们想要的东西感到困惑。
在笛卡尔坐标系上求距离的方法是 距离= sqrt [(x2-x1)^ 2 +(y2-y1)^ 2]
但我如何在这里申请?
//Requires: testColor to be a valid Color
//Effects: returns the "distance" between the current Pixel's color and
// the passed color
// uses the standard method to calculate "distance"
// uses the same formula as finding distance on a
// Cartesian coordinate system
double colorDistance(Color testColor) const;
颜色类定义了颜色: int红色,绿色,蓝色
我是否定义了类似'oldGreen''oldRed''oldblue'的东西,并获得那种距离?通过的颜色是红色,绿色,蓝色?
答案 0 :(得分:6)
我猜他们希望你使用:
distance = sqrt[(r2-r1)^2 + (g2-g1)^2 + (b2-b1)^2]
答案 1 :(得分:2)
将颜色分解为红绿蓝组件,并使用相同的方法,即sqrt(sqr(delta red)+ sqr(delta blue)+ sqr(delta green))
请注意,这不是一个非常好的方法,因为它不允许伽玛甚至更复杂的人类感知情况。阅读http://en.wikipedia.org/wiki/Color_difference了解更多奇特的方法。