【opencv初学者】5、读取图片求图片亮度
·
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2\imgproc\types_c.h>
#include <opencv2/opencv.hpp>
using namespace std;
float lightMean(cv::Mat img)//计算图片的各个通道的亮度后求均值
{
cv::Scalar scalar = cv::mean(img);
float imgChannel1 = scalar.val[0];
float imgChannel2 = scalar.val[1];
float imgChannel3 = scalar.val[2];
//float imgChannel4 = scalar.val[3];
//qDebug() << "--4.method mean picture Light : " << QString::number(picMeanLight, 10, 4);
float imgLight = (imgChannel1 + imgChannel2 + imgChannel3) / 3;
return imgLight;
}
float lightGray(cv::Mat img)//转化为灰度图片,计算像素平均值作为亮度
{
cv::Mat imgGray;
cv::cvtColor(img, imgGray, CV_BGR2GRAY);
cv::Scalar grayScalar = cv::mean(imgGray);
float imgGrayLight = grayScalar.val[0];
return imgGrayLight;
}
int main()
{
cv::Mat imgTest;
// 读取一张图片
imgTest = cv::imread("C:/Users/xxx/Desktop/xxx20220718-100821.jpg");
//
float picLight1 = lightMean(imgTest);
cout << "亮度值1为:" << picLight1 << endl;
float picLight2 = lightGray(imgTest);
cout << "亮度值2为:" << picLight2 << endl;
// 等待任意按钮结束
cv::waitKey(0);
return 0;
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)