OpenCV计算平均值cv::mean实例代码

作者:翟天保Steven 时间:2023-06-19 10:26:02 

前言

opencv中封装了一个专门用于求解cv::Mat均值的函数,即cv::mean(&cv::Mat),该函数会得到Mat中各个通道的均值,若要获取指定通道的均值,做进一步解析即可。

下面给出opencv的官方说明:

Operations on Arrays

函数原型

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

参数说明

  1. InputArray类型的src,输入图像,如Mat类型。

  2. InputArray类型的mask,掩膜,满足要求的位置才进行计算,默认没有掩膜,即全部计算。

测试代码

#include<iostream>
#include<opencv2/opencv.hpp>
#include<ctime>
using namespace std;
using namespace cv;
int main(void)
{
cv::Mat src = cv::Mat::zeros(5, 5, CV_32FC1);
cv::Mat mask = cv::Mat::zeros(5, 5, CV_8UC1);
int rows = src.rows;
int cols = src.cols;
cv::circle(mask, cv::Point(2, 2), 2, 255, -1);
int number = 0;
float sum = 0.0f;
for (int i = 0; i < rows; ++i)
{
for (int j = 0; j < cols; ++j)
{
if (mask.at<uchar>(i, j) == 255)
{
src.at<float>(i, j) = rand() % 255+rand()%100/100.0f;
sum += src.at<float>(i, j);
number++;
}
}
}
float result=cv::mean(src, mask==255)[0];
float mean_ = sum / number;
cout << "result:" << result << endl;
cout << "mean_" << mean_ << endl;
system("pause");
return 0;
}

测试效果

OpenCV计算平均值cv::mean实例代码

图1 自定义矩阵数据

OpenCV计算平均值cv::mean实例代码

图2 掩膜

OpenCV计算平均值cv::mean实例代码

图3 计算结果对比

为了便于对比数据,创建了一个5*5的矩阵和掩膜,进行了平均值的计算和mean函数的调用,所得结果一致,上述测试可供大家了解函数的使用

来源:https://blog.csdn.net/zhaitianbao/article/details/118387158

标签:opencv,平均值,cv::mean
0
投稿

猜你喜欢

  • 解决Pytorch内存溢出,Ubuntu进程killed的问题

    2023-08-31 22:12:16
  • MySQL 原理与优化之Limit 查询优化

    2024-01-15 04:44:26
  • python多线程http下载实现示例

    2023-12-03 00:15:34
  • 说说CSS的优先权 考虑CSS的继承与层叠

    2008-12-11 13:33:00
  • python 用opencv实现图像修复和图像金字塔

    2022-09-27 09:24:22
  • 用Python编写个解释器实现方法接受

    2023-01-11 15:50:08
  • Python初识二叉树续之实战binarytree

    2021-04-05 22:22:51
  • Go语言中并发的工作原理

    2024-05-08 10:13:25
  • TensorFlow入门使用 tf.train.Saver()保存模型

    2023-06-07 15:29:45
  • 连接pandas以及数组转pandas的方法

    2021-11-12 12:12:09
  • 5个提高你站点可读性的方法

    2011-01-31 17:48:00
  • Opencv实现眼睛控制鼠标的实践

    2023-07-04 11:21:52
  • 一篇文章教你用python画动态爱心表白

    2021-02-10 04:14:38
  • MySql 5.7.17压缩包免安装的配置过程图解

    2024-01-27 20:02:14
  • iframe框架用JavaScript子页面控制父页面

    2009-01-19 13:43:00
  • Go语言LeetCode题解1046最后一块石头的重量

    2024-05-29 22:08:19
  • 实例讲解Oracle到SQL Server主键迁移

    2009-03-25 13:30:00
  • 一小时学会TensorFlow2之Fashion Mnist

    2023-01-27 12:08:16
  • Mysql的Table doesn't exist问题及解决

    2024-01-16 05:03:13
  • python使用递归解决全排列数字示例

    2022-02-22 04:14:49
  • asp之家 网络编程 m.aspxhome.com