如何使用Opencv计算强度均方差

时间:2015-09-07 20:14:52

标签: c++ opencv

有一种方法可以计算两个图像之间的差异,称为"强度均方差" (MSD)。我在this研究论文中找到了它。我正在寻找一种使用opencv和C ++实现它的方法。任何关于此的参考都非常感谢。

1 个答案:

答案 0 :(得分:2)

我猜它与matchTemplateCV_TM_SQDIFF模式相同,但是以像素数为标准。可以如下计算图像A和B:

MSD formula

其中n - 图像上的像素数

我建议您不要使用matchTemplate函数来计算。使用cv::norm更有效,如下所示:

double MSD = cv::norm(A, B);
MSD = MSD * MSD / A.total();