目的:获取像素的最大值、最小值、均值、方差等数据。
API:
minMaxLoc(输入图像,最小值,最大值,最小值坐标,最大值坐标,Mat());
meanStdDev(输入图像,均值矩阵,方差矩阵);
注意:minMaxLoc的输入图像要求是单通道的,如果需要求RGB通道的,可以通过split函数来将其拆解成三部分实现。
代码:
void QuickDemo::pixel_statistic_Demo(Mat& image) {//预先创建好最值及其坐标double minv, maxv;Point minLoc, maxLoc;//将三通道图像拆解vector<Mat> mv;split(image, mv);for (int i = 0; i < mv.size(); i++) {minMaxLoc(mv[i], &minv, &maxv, &minLoc, &maxLoc, Mat());cout << "通道:" << i << "的结果 " << "minv:" << minv << ",maxv:" << maxv << endl;}Mat mean, stddev;meanStdDev(image, mean, stddev);cout << "mean:" << mean << endl;cout<<"stddev:" << stddev << endl;cout << "第一行第一列的值为:" << mean.at<double>(0, 0) << endl;}
结果: