[code]自动白平衡white blance
//2013.10.24
//eageldiao
//自动白平衡 CvScalar rgb;
rgb=cvAvg(src); #ifdef COLOR_GW //灰度世界假设(R,= R*K/Ravg ,其中,K=128 or (Ravg+Gavg+Bavg)/3 )
int KK,gw_k;
//KK=rgb.val[0];
//if (rgb.val[1]>KK)KK=rgb.val[1];
//if (rgb.val[2]>KK)KK=rgb.val[2];
//gw_k=KK; //K=max(Ravg+Gavg+Bavg)
//gw_k=(rgb.val[0]+rgb.val[1]+rgb.val[2])/3;//K=mean(Ravg+Gavg+Bavg)
gw_k=; //K=128;
printf( "K=%d;BGR(%f,%f,%f)\n",gw_k,rgb.val[],rgb.val[],rgb.val[]); //显示RGB三通道的均值。 #endif #ifdef COLOR_REMAIN
float gw_k, rgbavg, KK;
//rgbavg=(rgb.val[0]+rgb.val[1]+rgb.val[2])/3;
//KK=rgb.val[0]/rgbavg;
//if(rgb.val[1]/rgbavg>KK)KK=rgb.val[1]/rgbavg;
//if(rgb.val[2]/rgbavg>KK)KK=rgb.val[2]/rgbavg;
//gw_k=KK;
gw_k=1.3;
printf( "K=%f(%f,%f,%f)\n",gw_k,rgb.val[],rgb.val[],rgb.val[]); //显示RGB三通道的均值。 #endif for(y=;y<height;y++)
{
unsigned char *srcrow= (unsignedchar*)(src->imageData+y*src->widthStep);
for (x=;x<width;x++)
{
#ifdef COLOR_GW //使用一般的灰度世界的方法
srcrow[*x]=srcrow[*x]*gw_k/rgb.val[]> ? :srcrow[*x]*gw_k/rgb.val[];
srcrow[*x+]=srcrow[*x+]*gw_k/rgb.val[]> ?: srcrow[*x+]*gw_k/rgb.val[];
srcrow[*x+]=srcrow[*x+]*gw_k/rgb.val[]> ?: srcrow[*x+]*gw_k/rgb.val[];
#endif #ifdef COLOR_REMAIN //使用颜色保持的增强方法,R'/R=G'/G=B'/B=gw_k;
srcrow[*x]=srcrow[*x]*gw_k> ?: srcrow[*x]*gw_k;
srcrow[*x+]=srcrow[*x+]*gw_k> ?: srcrow[*x+]*gw_k;
srcrow[*x+]=srcrow[*x+]*gw_k> ?: srcrow[*x+]*gw_k;
#endif
}
}
[code]自动白平衡white blance的更多相关文章
- sublime Text Pastry使用
来源: https://github.com/duydao/Text-Pastry/wiki/Examples Using a text list Using the Clipboard Clip ...
- 微软职位内部推荐-Enterprise Architect - BDE - BJ
微软近期Open的职位: Enterprise ArchitectCloud, HTML5, Big Data and Mobile are technology trends driving pro ...
- Java Properties类源码分析
一.Properties类介绍 java.util.Properties继承自java.util.Hashtable,从jdk1.1版本开始,Properties的实现基本上就没有什么大的变动.从ht ...
- 工程优化暨babel升级小记
小记背景 随着业务代码的增多,项目代码的编译时长也在增多,遂针对这个痛点在dev下做些优化 第一部分:优化dev编译时间 这里优化的主要思路是在dev环境下,单独出来一个dll配置文件,将项目中的部分 ...
- SparkSQL执行时参数优化
近期接手了不少大数据表任务调度补数据的工作,补数时发现资源消耗异常的大且运行速度却不怎么给力. 发现根本原因在于sparkSQL配置有诸多问题,解决后总结出来就当抛砖引玉了. 具体现象 内存CPU比例 ...
- Ubuntu环境配置机器安装驱动
ubuntu_environment_config.md thead > tr > th { text-align: left; border-bottom: 1px solid; } t ...
- 【LeetCode】 两数之和 twoSum
两数之和 (简单) 题目描述 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数: 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 例如: 给定 nums = [2,7,11, ...
- 字体jquery ---
You don’t need icons! Here are 100+ unicode symbols that you can use Danny Markov December 3rd, 2014 ...
- 化学元素周期表的英文全称 Periodic Table of the Elements
化学元素周期表的英文全称 Periodic Table of the Elements 缩写 PTE 拉丁文 英文 1 H 氢 Hydrogenium Hydrogen 2 He 氦 Helium ...
随机推荐
- DNS 攻击方式及攻击案例
[赛迪网-IT技术报道]2010年1月12日晨7时起,网络上开始陆续出现百度出现无法访问的情况反馈, 12时左右基本恢复正常:18时许百度发布官方版本公告:对事故原因说明为:"因www.ba ...
- PAT甲级——A1122 Hamiltonian Cycle【25】
The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a gra ...
- PyTorch中的C++扩展
今天要聊聊用 PyTorch 进行 C++ 扩展. 在正式开始前,我们需要了解 PyTorch 如何自定义module.这其中,最常见的就是在 python 中继承torch.nn.Module,用 ...
- Error:Execution failed for task ':app:validateSigningDebug'.
今天出差回来 第一天 把项目重新移植到新的电脑上 一运行 给我报错了 ! 这个是签名的路径错误 我们需要重新导一下路径就可以了 点击左上角 File -> project structu ...
- css3 ---1 基本的选择器
基本的选择器 <style type="text/css"> /*通配符选择器*/ * { margin: ; padding: ; border: none; } / ...
- 廖雪峰Java13网络编程-3其他-1HTTP编程
1.HTTP协议: Hyper Text Transfer Protocol:超文本传输协议 基于TCP协议之上的请求/响应协议 目前使用最广泛的高级协议 * 使用浏览器浏览网页和服务器交互使用的就是 ...
- fastjson json转linkedhashmap为null
试了几种JSONObject.parseObject的方法,返回的都是null: 使用Gson就可以转成功. LinkedHashMap<String, String> map = gso ...
- MS-coco数据集下载及使用(转)
先做个标记,改天研究下. 几个链接: MS coco数据集介绍及下载 Microsoft COCO 数据集 COCO Dataset 数据特点 COCO 数据集的使用
- LintCode_389 判断数独是否合法
题目 请判定一个数独是否有效. 该数独可能只填充了部分数字,其中缺少的数字用 . 表示. 注意事项 一个合法的数独(仅部分填充)并不一定是可解的.我们仅需使填充的空格有效即可. 说明 什么是 数独? ...
- SPSS超详细操作:分层回归(hierarchical multiple regression)
SPSS超详细操作:分层回归(hierarchical multiple regression) 1.问题与数据 最大携氧能力(maximal aerobic capacity, VO2max)是评价 ...