OpenCV 计算均值和标准方差:
计算矩阵均值,src是1-4个通道,返回Scalar,保存了1-4通道的均值,结果值位double,Scalar[0],Scalar[1],Scalar[2],Scalar[3];相关函数:countNonZero, meanStdDev, norm, minMaxLoc;
Scalar mean(InputArray src, InputArray mask = noArray());
计算矩阵的均值和标准方差,src是1-4个通道,mean存储了1*1的均值矩阵,stddev存储在1*1的矩阵,结果为double 类型;相关函数:countNonZero, mean, norm, minMaxLoc, calcCovarMatrix
void meanStdDev(InputArray src, OutputArray mean, OutputArray stddev,
InputArray mask=noArray());
示例:
Mat meanResult,stddevResult ;
meanStdDev(src ,meanResult,stddevResult);
meanValue=meanResult.at<double>(0,0);
std=stddevResult.at<double>(0,0);
备注:
#define CV_8U 0 //8位无符号整数(0..255),uchar
#define CV_8S 1 //8位有符号整数(-128..127),char
#define CV_16U 2 //16位无符号整数(0..65535),unsigned short
#define CV_16S 3 //16位有符号整数(-32768..32767),short
#define CV_32S 4 //32位有符号整数(-2147483648..2147483647),int
#define CV_32F 5 //32位浮点数(-FLT_MAX..FLT_MAX,INF,NAN),float
#define CV_64F 6 //64位浮点数(-DBL_MAX..DBL_MAX,INF,NAN),double