目的:获取像素的最大值、最小值、均值、方差等数据。
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;
}
结果: