how to calculate and use cvMat mean value

EyalG picture EyalG · Oct 2, 2012 · Viewed 31.8k times · Source

In the openCV cheat sheet (C++), I have found the matrix opration mean(). When I use it:

float myMatMean = mean( MyMat );

I get the error:

no suitable conversion function from "cv::Scalar" to "float" exists

What can I do in order to use this data?

Answer

EyalG picture EyalG · Oct 2, 2012

Thanks.

The problem was that although myMat was a 2D image. The return type was still a Scalar of size 4.

The solution was

cv::Scalar tempVal = cv::mean( myMat );
float myMAtMean = tempVal.val[0];