OpenCV 图形API(12)用于计算图像或矩阵的平均值函数mean()

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

计算矩阵元素的平均值(均值)。

mean函数计算矩阵元素的平均值M,每个通道独立计算,并返回该值。

支持的矩阵数据类型包括:CV_8UC1、CV_8UC3、CV_16UC1、CV_16SC1、CV_32FC1。

注意:
该函数的文本ID是"org.opencv.core.math.mean"。

函数原型

GScalar cv::gapi::mean 
(
 	const GMat &  	src	) 
}	

参数

  • 参数src 输入矩阵

代码示例

#include <opencv2/gapi.hpp>       // 包含 GAPI 头文件
#include <opencv2/gapi/core.hpp>  // 包含G-API核心功能
#include <opencv2/opencv.hpp>

int main()
{
    // 1. 读取输入图像
    cv::Mat src = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/input.jpg" );
    if ( src.empty() )
    {
        std::cerr << "Error: Could not read input image!" << std::endl;
        return -1;
    }

    // 2. 定义 GAPI 计算图
    cv::GMat in_src;                                  // 输入 GMat
    cv::GScalar mean_val = cv::gapi::mean( in_src );  // 计算均值
    cv::GComputation comp( cv::GIn( in_src ), cv::GOut( mean_val ) );

    // 3. 执行计算图
    cv::Scalar result;
    comp.apply( cv::gin( src ), cv::gout( result ) );  // 将 cv::Mat 输入到计算图

    // 4. 输出结果
    std::cout << "Mean values: ";
    if ( src.channels() == 1 )
    {  // 灰度图像
        std::cout << "Gray: " << result[ 0 ] << std::endl;
    }
    else
    {  // 彩色图像(如 BGR)
        std::cout << "B: " << result[ 0 ] << " G: " << result[ 1 ] << " R: " << result[ 2 ] << std::endl;
    }

    return 0;
}

运行结果

Mean values: B: 254.343 G: 204.943 R: 204.914
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

村北头的码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值