10.图像的平均值与标准差

目录

        1 介绍

        2 API函数详解

        2.1 mean()函数

        2.2 minStdDev()函数

        3 代码实现

        1 介绍

        图像的平均值表示图像中所有像素强度的平均数,而标准差度量了图像像素值的离散程度。这些值通常用于图像处理操作中的对比度调整、边缘检测等。

        平均值是图像中所有像素强度值的总和除以像素数量的结果。标准差是对像素值的离散程度进行度量,它表示像素值与平均值之间的差异程度。在OpenCV中,这些值通过遍历图像的每个像素,并对像素值进行统计计算得到。

        2 API函数详解

        2.1 mean()函数

 cv::mean(const cv::Mat& src, const cv::Mat& mask = cv::Mat())。

src是输入图像,可以是单通道或多通道的图像。

mask是一个可选参数,用于指定感兴趣区域(ROI),只有在指定区域内计算平均值。

注意:函数的返回值为一个cv::Scalar对象,包含计算得到的平均值。

        2.2 minStdDev()函数

cv::meanStdDev(const cv::Mat& src, cv::Scalar& mean, cv::Scalar& stddev, const cv::Mat& mask = cv::Mat())

        该函数可用于计算图像的平均值和标准差。

src是输入图像,可以是单通道或多通道的图像。

mean是一个输出的Scalar类型参数,用于存储计算得到的平均值。

stddev是一个输出的Scalar类型参数,用于存储计算得到的标准差。

mask是一个可选参数,用于指定感兴趣区域(ROI),只有在指定区域内计算平均值和标准差。

        3 代码实现

        下面是一个示例代码,展示了如何使用OpenCV C++实现获取图像的平均值和标准差:

#include <opencv2/opencv.hpp>
#include <iostream>

int main() {
    // 读取图像
    cv::Mat image = cv::imread("image.jpg", cv::IMREAD_GRAYSCALE);

    // 定义变量存储平均值、标准差
    cv::Scalar meanValue, stdDevValue;
    
    // 计算平均值、标准差
    cv::meanStdDev(image, meanValue, stdDevValue);

    // 打印平均值、标准差
    std::cout << "Mean value: " << meanValue[0] << std::endl;
    std::cout << "Standard deviation: " << stdDevValue[0] << std::endl;

    return 0;
}

        上述代码中,首先使用cv::imread()函数读取一张灰度图像。然后,定义变量meanValue和stdDevValue用于存储平均值和标准差。接下来,使用cv::meanStdDev()函数计算图像的平均值和标准差。最后,通过std::cout输出打印平均值和标准差。请确保在编译时链接OpenCV库并包含相关头文件。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

别叭叭儿—好好学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值