当前位置:网站首页>OpenCV获取和设置图像的平均亮度
OpenCV获取和设置图像的平均亮度
2022-08-04 05:24:00 【superchao1982】
1. OpenCV1.0中C方式:
double getAvg(IplImage *img)
{
IplImage *gray = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
cvCvtColor(img,gray,CV_RGB2GRAY);
CvScalar scalar = cvAvg(gray);
cvReleaseImage(&gray);
return scalar.val[0];
}
void setAvg(IplImage *img,IplImage *out,double avg_gray)
{
double prev_avg_gray = get_avg_gray(img);
cvConvertScale(img,out,avg_gray/prev_avg_gray);
}
2. OpenCV2.0中C++方式:
double getAvg(Mat img)
{
Mat gray;
cvtColor(img, gray, CV_RGB2GRAY);
Scalar scalar = mean(gray);
return scalar.val[0];
}
void setAvg(Mat scr,Mat dst, double avg)
{
double fpreAvg = getAvg(scr);
scr.convertTo(dst,scr.type(),avg/fpreAvg);
}
边栏推荐
- MySQL数据库面试题总结(2022最新版)
- [Cloud Native--Kubernetes] Pod Resource Management and Probe Detection
- 力扣:343. 整数拆分
- 5个开源组件管理小技巧
- C Expert Programming Chapter 5 Thinking about Chaining 5.6 Take it easy --- see who's talking: take the Turning quiz
- 离线采集怎么看sql执行计划
- DataTable uses Linq for grouping and summarization, and converts the Linq result set into DataTable
- 心余力绌:企业面临的软件供应链安全困境
- 解决错误:npm WARN config global `--global`, `--local` are deprecated
- 应届生软件测试薪资大概多少?
猜你喜欢
随机推荐
注意!软件供应链安全挑战持续升级
el-Select 选择器 底部固定
Towards Real-Time Multi-Object Tracking (JDE)
C专家编程 第4章 令人震惊的事实:数组和指针并不相同 4.1 数组并非指针
【云原生--Kubernetes】Pod资源管理与探针检测
获取单选框选中内容
Shocked, 99.9% of the students didn't really understand the immutability of strings
[Cocos 3.5.2]开启模型合批
离线采集怎么看sql执行计划
力扣:746. 使用最小花费爬楼梯
idea设置识别.sql文件类型以及其他文件类型
8、自定义映射resultMap
Teenage Achievement Hackers Need These Skills
Delphi-C端有趣的菜单操作界面设计
编程大杂烩(三)
The symbol table
[C language advanced] program environment and preprocessing
Write golang simple C2 remote control based on gRPC
3面头条,花7天整理了面试题和学习笔记,已正式入职半个月
Plus版SBOM:流水线物料清单PBOM