OpenCv 010

1 前备知识

(1)标准方差

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

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
*/

1CV_EXPORTS_W void minMaxLoc(InputArray src, CV_OUT double* minVal, 2 CV_OUT double* maxVal = 0, CV_OUT Point* minLoc = 0, 3 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
*/

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

3 程序代码

1#include"opencv2\opencv.hpp" 2#include"iostream" 3 4using namespace std; 5using namespace cv; 6 7int main(int argc, char** argv) 8{ 9 Mat srcGray = imread("G:\\CVworkstudy\\program_wwx\\研习社140课时\\ZhaiZhigang140\\lena.jpg", IMREAD_GRAYSCALE); 10 if (srcGray.empty()) 11 { 12 printf("Could not load image...\n"); 13 return -1; 14 } 15 namedWindow("grayImg"); 16 imshow("grayImg", srcGray); 17 double minVal, maxVal; 18 Point minLoc, maxLoc; 19 minMaxLoc(srcGray, &minVal, &maxVal, &minLoc, &maxLoc, Mat()); 20 printf("MinVal:%.2f,MaxVal:%.2f\n", minVal, maxVal); 21 printf("MinLoc:(%d,%d)", minLoc.x, minLoc.y); 22 printf("MaxLoc:(%d,%d)\n", maxLoc.x, maxLoc.y); 23 24 Mat srcRgb = imread("G:\\CVworkstudy\\program_wwx\\研习社140课时\\ZhaiZhigang140\\lena.jpg"); 25 if (srcRgb.empty()) 26 { 27 printf("Could not load Image...\n"); 28 return -1; 29 } 30 namedWindow("RgbImg"); 31 imshow("RgbImg", srcRgb); 32 Mat means,stdDevs; 33 meanStdDev(srcRgb, means, stdDevs); 34 printf("blue channel>>> mean:%.2f,stdDev:%.2f\n", means.at<double>(0, 0), stdDevs.at<double>(0, 0)); 35 printf("green channel>>>mean:%.2f,stdDev:%.2f\n", means.at<double>(1, 0), stdDevs.at<double>(1, 0)); 36 printf("red channel>>>mean:%.2f,stdDev:%.2f\n", means.at<double>(2, 0),stdDevs.at<double>(2,0)); 37 waitKey(0); 38 return 0; 39}

4 运行结果

5 扩展及注意事项

NULL

点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

Python Numpy鸢尾花实训,数据处理

PythonNumpy鸢尾花实训,数据处理本文所用数据下载地址——本实训读取iris数据集中鸢尾花的萼片、花瓣长度数据,并对其进行排序,去重,并求出和、累计和、均值、标准差、方差、最小值、最大

mysql中like用法

like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\

Dart 基础

Dart基础1.类型dartStringint整数值,其取值通常位于253和253之间double64bit(双精度)浮点数,符合IEEE754标准。DateTimeMap是一个键值相关的对象。Function可以赋值给变量,也可以当作其他方法的参数。可使用胖箭头。可选位置参

人工智能数学基础4:离差、平均差、方差、标准差、协方差、皮尔森相关系数

一、离差(Deviation)离差即标志变动度,又称“偏差”,是观测值或估计量的平均值与真实值之间的差,是反映数据分布离散程度的量度之一,或说是反映统计总体中各单位标志值差别大小的程度或离差情况的指标,常写作:即参与计算平均数的变量值与平均数之差。离差的性质有二:(1)离差的代数和等于0;(2)参与计算平均数的各变量值与平均数之差的平均和,小于这些变量值

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

OpenCv 010 - HelloWorld