我有两个cv::Scalar
个对象,我想计算色差。
我想出了这段代码:
cv::Scalar a(255, 128, 255); // color 1
cv::Scalar b(100, 100, 100); // color 2
cv::Scalar d = b - a;
double distance = sqrtl(d[0]*d[0] + d[1]*d[1] + d[2]*d[2]);
这看起来很笨拙。有没有更简单的方法来表达这个或另一个指标,例如一种表达点积d*d
的方法,或者说是一种直接说明两个cv::Scalar
或cv::Vec4i
的距离的方法,可以将它放到哪个位置?