OpenCv 010

Stella981
• 阅读 248

1 前备知识

(1)标准方差

简单来说,标准差是一组数据平均值分散程度的一种度量。一个较大的标准差,代表大部分数值和其平均值之间差异较大;一个较小的标准差,代表这些数值较接近平均值。

OpenCv 010

2 所用到的主要OpenCv API

/** @brief Finds the global minimum and maximum in an array.

The function cv::minMaxLoc finds the minimum and maximum element values and their positions. The

@param src input single-channel array.
@param minVal pointer to the returned minimum value; NULL is used if not required.
@param maxVal pointer to the returned maximum value; NULL is used if not required.
@param minLoc pointer to the returned minimum location (in 2D case); NULL is used if not required.
@param maxLoc pointer to the returned maximum location (in 2D case); NULL is used if not required.
@param mask optional mask used to select a sub-array.
@sa max, min, compare, inRange, extractImageCOI, mixChannels, split, Mat::reshape
*/

CV_EXPORTS_W void minMaxLoc(InputArray src, CV_OUT double* minVal,
                            CV_OUT double* maxVal = 0, CV_OUT Point* minLoc = 0,
                            CV_OUT Point* maxLoc = 0, InputArray mask = noArray());

/** Calculates a mean and standard deviation of array elements.

@param src input array that should have from 1 to 4 channels so that the results can be stored in
Scalar_ 's.
@param mean output parameter: calculated mean value.
@param stddev output parameter: calculated standard deviation.
@param mask optional operation mask.
@sa countNonZero, mean, norm, minMaxLoc, calcCovarMatrix
*/

CV_EXPORTS_W void meanStdDev(InputArray src, OutputArray mean, OutputArray stddev,
                             InputArray mask=noArray());

3 程序代码

#include"opencv2\opencv.hpp"
#include"iostream"

using namespace std;
using namespace cv;

int main(int argc, char** argv)
{
    Mat srcGray = imread("G:\\CVworkstudy\\program_wwx\\研习社140课时\\ZhaiZhigang140\\lena.jpg", IMREAD_GRAYSCALE);
    if (srcGray.empty())
    {
        printf("Could not load image...\n");
        return -1;
    }
    namedWindow("grayImg");
    imshow("grayImg", srcGray);
    double minVal, maxVal;
    Point minLoc, maxLoc;
    minMaxLoc(srcGray, &minVal, &maxVal, &minLoc, &maxLoc, Mat());
    printf("MinVal:%.2f,MaxVal:%.2f\n", minVal, maxVal);
    printf("MinLoc:(%d,%d)", minLoc.x, minLoc.y);
    printf("MaxLoc:(%d,%d)\n", maxLoc.x, maxLoc.y);

    Mat srcRgb = imread("G:\\CVworkstudy\\program_wwx\\研习社140课时\\ZhaiZhigang140\\lena.jpg");
    if (srcRgb.empty())
    {
        printf("Could not load Image...\n");
        return -1;
    }
    namedWindow("RgbImg");
    imshow("RgbImg", srcRgb);
    Mat means,stdDevs;
    meanStdDev(srcRgb, means, stdDevs);
    printf("blue channel>>> mean:%.2f,stdDev:%.2f\n", means.at<double>(0, 0), stdDevs.at<double>(0, 0));
    printf("green channel>>>mean:%.2f,stdDev:%.2f\n", means.at<double>(1, 0), stdDevs.at<double>(1, 0));
    printf("red channel>>>mean:%.2f,stdDev:%.2f\n", means.at<double>(2, 0),stdDevs.at<double>(2,0));
    waitKey(0);
    return 0;
}

4 运行结果

OpenCv 010

OpenCv 010

5 扩展及注意事项

NULL

点赞
收藏
评论区
推荐文章
刚刚好 刚刚好
4个月前
css问题
1、在IOS中图片不显示(给图片加了圆角或者img没有父级)<div<imgsrc""/</divdiv{width:20px;height:20px;borderradius:20px;overflow:h
黎明之道 黎明之道
1年前
Python Numpy鸢尾花实训,数据处理
PythonNumpy鸢尾花实训,数据处理本文所用数据下载地址——本实训读取iris数据集中鸢尾花的萼片、花瓣长度数据,并对其进行排序,去重,并求出和、累计和、均值、标准差、方差、最小值、最大
Peter20 Peter20
1年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
晴空闲云 晴空闲云
4个月前
css中box-sizing解放盒子实际宽高计算
我们知道传统的盒子模型,如果增加内边距padding和边框border,那么会撑大整个盒子,造成盒子的宽度不好计算,在实务中特别不方便。boxsizing可以设置盒模型的方式,可以很好的设置固定宽高的盒模型。盒子宽高计算假如我们设置如下盒子:宽度和高度均为200px,那么这会这个盒子实际的宽高就都是200px。但是当我们设置这个盒子的边框和内间距的时候,那
Karen110 Karen110
1年前
人工智能数学基础4:离差、平均差、方差、标准差、协方差、皮尔森相关系数
一、离差(Deviation)离差即标志变动度,又称“偏差”,是观测值或估计量的平均值与真实值之间的差,是反映数据分布离散程度的量度之一,或说是反映统计总体中各单位标志值差别大小的程度或离差情况的指标,常写作:即参与计算平均数的变量值与平均数之差。离差的性质有二:(1)离差的代数和等于0;(2)参与计算平均数的各变量值与平均数之差的平均和,小于这些变量值
艾木酱 艾木酱
3个月前
快速入门|使用MemFire Cloud构建React Native应用程序
MemFireCloud是一款提供云数据库,用户可以创建云数据库,并对数据库进行管理,还可以对数据库进行备份操作。它还提供后端即服务,用户可以在1分钟内新建一个应用,使用自动生成的API和SDK,访问云数据库、对象存储、用户认证与授权等功能,可专
Stella981 Stella981
1年前
R和python语言如何求平均值,中位数和众数
均值是通过取数值的总和并除以数据序列中的值的数量来计算。R语言平均值公式:mean(x,trim0,na.rmFALSE,...)\x<c(22,13,2,45,56,73,21,44,NA)\result.mean<mean(x,rim0.2,na.rmTRUE)rim0
Stella981 Stella981
1年前
JMeter聚合报告(Aggregate Report)理解
AggregateReport是JMeter常用的一个Listener,中文被翻译为“聚合报告”。    !(https://oscimg.oschina.net/oscnet/4d2ddcd0126629b158ceba312a3aaae3ac5.png)对于每个请求,它统计响应信息并提供请求数,平均值,最大,最小值,错误率,大约吞吐量
Wesley13 Wesley13
1年前
MDT 2013 从入门到精通之概念扫盲
从今日开始为大家带来微软MDT2013批量部署操作系统从入门到精通系列教程,旨在为大家以后的工作、学习提供一个便利的参考教程,以便大家更好、更深入的了解微软MDT,从而减轻企业工程师、IT从业人员及个人用户在生产环境或测试环境中部署问题,提高操作系统部署速度、质量等。接下来直接进入正文:常规部署操作系统缺点:1.硬件标准差异、软件多样化
helloworld_28799839 helloworld_28799839
4个月前
常用知识整理
Javascript判断对象是否为空jsObject.keys(myObject).length0经常使用的三元运算我们经常遇到处理表格列状态字段如status的时候可以用到vue