(10)OpenCV 4 学习之像素值统计

文章目录

      • 前言
      • 知识点
      • 一、函数解析
        • 1、最大最小值(minMaxLoc)
        • 2、均值和方差(meanStdDev)
      • 二、代码示例
      • 三、结果展示
      • 四、官方教程


前言

最近心血来潮,想具体的去学习一下图像处理,所以报了知识星球的一个OpenCV研习社,将自己每天的学习,分享一下。写个 blog 加深一下知识。


知识点

知识点: 像素值统计

  • 最小(min)
  • 最大(max)
  • 均值(mean)
  • 标准方差(standard deviation)

API知识点

  • 最大最小值 minMaxLoc
  • 计算均值与标准方差 meanStdDev

一、函数解析

1、最大最小值(minMaxLoc)

CV_EXPORTS_W void minMaxLoc(InputArray src, CV_OUT double* minVal,
                            CV_OUT double* maxVal = 0, CV_OUT Point* minLoc = 0,
                            CV_OUT Point* maxLoc = 0, InputArray mask = noArray());

参数一:输入单通道数组。
参数二:指向返回的最小值;如果不需要,则使用NULL。
参数三:指向返回的最大值;如果不需要,则使用NULL。
参数四:指向返回的最小位置(在2D情况下);如果不需要,则使用NULL。
参数五:指向返回的最大位置(在2D情况下);如果不需要,则使用NULL。
参数六:用于选择子数组的可选掩码。

功能:查找数组中的全局最小值和最大值及其位置。

2、均值和方差(meanStdDev)

CV_EXPORTS_W void meanStdDev(InputArray src, OutputArray mean, OutputArray stddev,
                             InputArray mask=noArray());

参数一:输入数组应该有1到4个通道,以便结果可以存储在Scalar中。
参数二:输出参数:计算的平均值。
参数三:	输出参数:计算出的标准偏差。
参数四:可选的操作掩码。

功能:计算数组元素的平均值和标准差。

二、代码示例

int main(int argc, char* argv[])
{
	Mat src = imread("C:/Users/XMuser/Desktop/Opencv/test.png",IMREAD_GRAYSCALE);
	if (src.empty())
	{
		printf("could not load image ...\n");
		return -1;
	}

	double minVal, maxVal;
	Point  minLoc, maxLoc;
	//灰度图像 单通道 最小最大值
	minMaxLoc(src, &minVal, &maxVal, &minLoc, &maxLoc, Mat());
	printf("min: %.2f , max: %.2f \n", minVal, maxVal);
	printf("min loc: ( %d , %d ) \n", minLoc.x, minLoc.y);
	printf("max loc:( %d , %d ) \n", maxLoc.x, maxLoc.y);

	//彩色图像 三通道 均值和方差
	Mat means, stddev;
	src = imread("C:/Users/XMuser/Desktop/Opencv/test.png");
	meanStdDev(src, means, stddev);
	printf("blue channel->> mean: %.2f, stddev: %.2f\n", means.at(0, 0), stddev.at(0, 0));
	printf("green channel->> mean: %.2f, stddev: %.2f\n", means.at(1, 0), stddev.at(1, 0));
	printf("red channel->> mean: %.2f, stddev: %.2f\n", means.at(2, 0), stddev.at(2, 0));

	waitKey(0);

	return 0;
}

三、结果展示

(10)OpenCV 4 学习之像素值统计_第1张图片


四、官方教程

传送门:官方教程 ---- minMaxLoc
传送门:官方教程 ---- meanStdDev
(10)OpenCV 4 学习之像素值统计_第2张图片
(10)OpenCV 4 学习之像素值统计_第3张图片

你可能感兴趣的:(OpenCV,4.0)