opencv c++ 图像像素值统计(13)minMaxLoc

目的:获取像素的最大值、最小值、均值、方差等数据。

API:

minMaxLoc(输入图像,最小值,最大值,最小值坐标,最大值坐标,Mat());

meanStdDev(输入图像,均值矩阵,方差矩阵);

 注意:minMaxLoc的输入图像要求是单通道的,如果需要求RGB通道的,可以通过split函数来将其拆解成三部分实现。

代码:

void QuickDemo::pixel_statistic_Demo(Mat& image) {

	//预先创建好最值及其坐标
	double minv, maxv;
	Point minLoc, maxLoc;
	//将三通道图像拆解
	vector 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(0, 0) << endl;
}

结果:

opencv c++ 图像像素值统计(13)minMaxLoc_第1张图片

你可能感兴趣的:(opencv,c++,opencv,人工智能,计算机视觉)