比较2个多通道图像之间的平均值

时间:2018-06-29 13:27:01

标签: c++ opencv

如果我计算每个图像的平均值(总共2个图像)。我应该如何比较这两个HSV图像的均值?我应该比较每个通道的平均值,还是应该将三个通道的平均值相加然后进行比较?请参阅下面的详细说明:

比较技术1:

Scalar mean1, stddev1, mean2, stddev2;
meanStdDev(src1, mean1, stddev1);
meanStdDev(src2, mean2, stddev2);

int hueDiff = abs(mean1[0] - mean2[0]);
int satDiff = abs(mean1[1] - mean2[1]);
int valueDiff = abs(mean1[2] - mean2[2]);

比较技术2(这几乎是相同的比较还是非常不同的?)?

Scalar mean1, stddev1, mean2, stddev2;
meanStdDev(src1, mean1, stddev1);
meanStdDev(src2, mean2, stddev2);

int diff = abs( (mean1[0] + mean1[1] + mean1[2]) / 3  -  (mean2[0] + mean2[1] + mean2[2]) / 3);

上下文:我正在对HSV图像进行网格化并将一个单元格与其邻居进行比较,因此在我的用例中,我没有2个单独的图像,但是同一图像中有2个roi。但是仍然可以通过它们的平均HSV颜色进行比较。

0 个答案:

没有答案