


均值表示信号中直流分量的大小,用E(x)表示。对于高斯白噪声信号而言,它的均值为0,所以它只有交流分量。

方差用variance或deviation 或Var表示。 方差描述信号的波动范围,表示信号中交流分量的强弱,即交流信号的平均功率。
或用公式表示为
#include <opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
Mat src = imread("D:/HUANGHAI_WORK/tools/opencv4/opencv/sources/samples/data/messi5.jpg");
if (src.empty())
{
printf("读取出错");
return -1;
}
namedWindow("input", WINDOW_AUTOSIZE);
imshow("input", src);
int w = src.cols;
int h = src.rows;
int c = src.channels();
printf("width:%d,height:%d,dim:%d\n", w, h, c);
//最小最大值
/*double min_val;
double max_val;
Point minLoc;
Point maxLoc;
minMaxLoc(src, &min_val, &max_val, &minLoc, &maxLoc);
printf("min:%.2f,max:%.2f",min_val,max_val);*/
//均值方差
Scalar s = mean(src);
printf("均值:%.2f,%.2f,%.2f", s[0],s[1],s[2]);
Mat mm, mstd;
meanStdDev(src, mm, mstd);
printf("方差:%.2f,%.2f,%.2f", mstd.at<double>(0,0), mstd.at<double>(1, 0), mstd.at<double>(2, 0));
waitKey(0);
destroyAllWindows();
return 0;
}
网友评论