函数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;
}
运行结果: