OpenCV计算图像的平均值函数mean函数的使用

函数cv::mean计算数组元素的平均值M,每个通道都是独立的,并返回这个平均值。

当所有掩摸元素是0的时候,函数返回Scalar::all(0),也就是返回的全是0.

功能:

计算一个数组里元素的平均值

原型:

CV_EXPORTS_W Scalar mean(InputArray src, InputArray mask = noArray());

参数释义:

  • 参数 src 输入数组,具有1到4个通道,结果保存在Scalar_ 。

  • 参数 mask 可选参数,操作掩摸,用于标记求取哪些区域的均值和标准差。

    参考 countNonZero, meanStdDev, norm, minMaxLoc

示例源码:

#include <iostream>
#include <opencv2/opencv.hpp>
​
int main() {
​
    float sample[14] = { 12,12,3,4,7,9,56,12,13,14,12,56,34,14 };
    cv::Mat image1 = cv::Mat(4, 3, CV_32FC1, sample);    //单通道的矩阵
    cv::Mat image2 = cv::Mat(2, 2, CV_32FC2, sample);    //多通道的矩阵 2通道
    
    cv::Scalar mean1;
    cv::Scalar mean2;
    mean1 = cv::mean(image1);
    mean2 = cv::mean(image2);
    std::cout << "单通道均值:" << mean1 << std::endl;
    std::cout << "多通道均值:" << mean2 << std::endl;
​
    return 0;
}

运行结果:

猜你喜欢

转载自blog.csdn.net/jndingxin/article/details/112618714