matlab 平均梯度,OpenCV 自学笔记33. 计算图像的均值、标准差和平均梯度

OpenCV 自学笔记33. 计算图像的均值、标准差和平均梯度

均值、标准差和平均梯度是验证图像质量的常用指标。其中:

均值反映了图像的亮度,均值越大说明图像亮度越大,反之越小;

标准差反映了图像像素值与均值的离散程度,标准差越大说明图像的质量越好;

平均梯度反映了图像的清晰度和纹理变化,平均梯度越大说明图像越清晰;

那么,如何使用OpenCV计算图像的均值、标准差和平均梯度呢?

OpenCV提供了几个函数,可以用来帮助我们计算。

1、计算图像的平均梯度

meanStdDev()函数用于计算一个矩阵的均值和标准差,它的声明如下:

void cv::meanStdDev (

InputArray src,

OutputArray mean,

OutputArray stddev,

InputArray mask = noArray()

)

函数参数

src:输入的源图像或矩阵

mean:输出的均值矩阵

stddev:输出的标准差矩阵

mask:可选的掩码矩阵

使用meanStdDev计算均值和标准差的代码如下:

// 输入图像的路径

// 计算图像的标准差

void cal_mean_stddev(string path) {

Mat src = imread(path);

Mat gray, mat_mean, mat_stddev;

cvtColor(src

你可能感兴趣的:(matlab,平均梯度)