OpenCV中矩阵中元素的总和?

时间:2014-02-19 08:24:22

标签: c++ matlab opencv image-processing

我需要将矩阵中的所有元素相加。我使用了函数

  sum(sum(A)); 

在matlab中。其中A是一个大小为300 * 360的矩阵。 我想在OpenCV中实现相同的功能。我用过这样的东西。

  double s=cv::sum(cv::sum(A));

但是有错误显示无法将标量转换为double。如何解决这个问题?

2 个答案:

答案 0 :(得分:40)

与Matlab不同,在opencv中,cv::sum(A)在所有维度上求和,并返回一个等于Matlab sum(sum(A))的数字(标量)。
所以,你需要的是

double s = cv::sum( A )[0];

答案 1 :(得分:11)

此外,您可以使用@Shai;

double sum = cv::sum(A).val(0);