像素统计操作

最大、最小值void cv::minMaxLoc()
均值、方差void cv::meanStdDev()

API:

C++ void cv::minMaxLoc(cv::InputArray src, 单通道输入图像
                       double *minVal, double *maxVal = (double *)0, 
                       cv::Point *minLoc = (cv::Point *)0, 
                       cv::Point *maxLoc = (cv::Point *)0, 
                       cv::InputArray mask = noArray())
C++ void cv::meanStdDev(cv::InputArray src, 输入
                        cv::OutputArray mean, 均值
                        cv::OutputArray stddev, 方差
                        cv::InputArray mask = noArray())

代码: 

#include<opencv2/opencv.hpp>
#include<iostream>
#include<imgproc.hpp>
using namespace cv;
using namespace std;


int main(int argc, char** argv) {
	Mat image = imread("C:/Users/YY/Pictures/Saved Pictures/frose.jpg");
	imshow("原图", image);
	double minVal, maxVal;
	Point minp, maxp;
	vector<Mat>bgr;
	split(image, bgr);
	for(int i=0;i<bgr.size();i++){
		minMaxLoc(bgr[i], &minVal, &maxVal,&minp,&maxp);
		cout << "minVal: " << minVal << "  maxVal: " << maxVal << endl;
		cout << "minpoint: " << minp << " maxpoint: " << maxp << endl;
	}
	Mat mean, stddev;
	meanStdDev(image, mean, stddev);//均值,方差
	cout << "均值" << mean << endl;
	cout << "方差" << stddev << endl;

	waitKey(0);
	destroyAllWindows();
	return 0;
}

 

 

minVal: 0  maxVal: 255
minpoint: [46, 0] maxpoint: [128, 66]
minVal: 2  maxVal: 253
minpoint: [209, 151] maxpoint: [117, 82]
minVal: 0  maxVal: 255
minpoint: [78, 0] maxpoint: [124, 61]
均值[51.10042116769548;
 87.76117219650206;
 65.56232317386832]
方差[66.59985266753239;
 54.27424750156884;
 70.82112553356178]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值