• OpenCV统计函数之minMaxLoc和meanStdDev


    OpenCV中,minMaxLocmeanStdDev是两个用于统计图像或数组中元素的基本特性的函数。这些统计函数对于图像处理、特征提取和数据分析非常有用。

    minMaxLoc

    minMaxLoc函数用于查找数组或图像中的最小值和最大值,并可选地返回这些值的位置。这在处理图像时特别有用,比如在动态调整对比度或进行阈值操作之前确定图像的亮度范围。

    void minMaxLoc(InputArray src, double* minVal, double* maxVal = 0, Point* minLoc = 0, Point* maxLoc = 0, InputArray mask = noArray());
    
    • 1
    • src:输入数组,通常是一个单通道图像。
    • minVal,maxVal:指向double类型变量的指针,用于存储数组中的最小值和最大值。
    • minLoc,maxLoc:可选的指针,指向Point类型的变量,用于存储最小值和最大值的位置。
    • mask:可选的操作掩码,用于指定要检查哪些数组元素。

    meanStdDev

    meanStdDev函数计算数组或图像的平均值和标准偏差。这对于分析图像的亮度和对比度变化非常有用,可以帮助我们理解图像的统计特性。

    void meanStdDev(InputArray src, OutputArray mean, OutputArray stddev, InputArray mask = noArray());
    
    • 1
    • src:输入数组,可以是多通道的。
    • mean:输出参数,存储每个通道的平均值。
    • stddev:输出参数,存储每个通道的标准偏差。
    • mask:可选的操作掩码,用于指定要计算哪些数组元素的平均值和标准偏差。

    例子

    void QuickDemo::image_pixel_statistic_demo(Mat &image) {
    	double minv, maxv;
    	Point minLoc, maxLoc;
    	std::vector<Mat> mv;
    	split(image, mv);
    	for (int i = 0; i < mv.size(); i++) {
    		minMaxLoc(mv[i], &minv, &maxv, &minLoc, &maxLoc, Mat());
    		std::cout <<"No.channels:"<<i<< "min value:" << minv << "max value" << maxv << std::endl; 
    	}
    	
    	Mat mean, stddev;
    	meanStdDev(image, mean, stddev);
    	std::cout << "mean:" << mean <<std::endl << "stddev" << stddev << std::endl;
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在这里插入图片描述在这里插入图片描述

  • 相关阅读:
    程序员眼中的Linux操作系统——初识指令
    Spring框架详解
    Python sort 自定义函数排序
    STM32物联网项目-DAC输出模拟量以及正弦波
    网络基础(网络层)
    luogu P3842 [TJOI2007]线段
    不得不会的MySQL数据库知识点(七)
    INSERT DESC UPDATE SELECT
    puppeteer只生成一页pdf的问题
    K8s复习笔记11--dubbo架构
  • 原文地址:https://blog.csdn.net/xiaofeixia002X/article/details/136188443