[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 ...
随机推荐
- 杂项-日志:日志(log)
ylbtech-杂项-日志:日志(log) 1.返回顶部 1. 概述 网络设备.系统及服务程序等,在运作时都会产生一个叫log的事件记录:每一行日志都记载着日期.时间.使用者及动作等相关操作的描述. ...
- java模拟页面表单登录
简单的通过表单的post请求提交到后台 package testpostlogin; import java.io.BufferedReader; import java.io.File; impor ...
- <Django>socket简单实现django简化版
服务端(自己实现django) ''' django简化版:socket服务端 a.收发浏览器信息----wsgiref.py b.根据用户访问的不同路径执行不同函数 c.从html读取出内容,并完成 ...
- 牛客网NOIP赛前集训营-普及组(第七场)
链接:C 来源:牛客网 牛牛的同学给牛牛表演了一个读心术:牛牛先任意选定一个非负整数,然后进行N次操作:每次操作前,假设牛牛当前的数是a,那么这个操作可能是a = a + x, 或者a = a * x ...
- 一个WordCount执行过程的实例
- postgresql数据库学习-win平台下SQLshell基础操作及语法
由于在学习https://www.bilibili.com/video/av24590479小马视频时, up主采用的linux虚拟机进行教学, 而本人采用window7进行操作,故在基础操作和语法上 ...
- 廖雪峰Java15JDBC编程-3JDBC接口-2JDBC查询
我们可以使用JDBC查询来执行select语句. 1. Statement try(Connection conn = DriverManager.getConnection(JDBC_URL, JD ...
- Spring Cloud Alibaba发布第二个版本,Spring 发来贺电
还是熟悉的面孔,还是熟悉的味道,不同的是,这次的配方升级了. 今年10月底,Spring Cloud联合创始人Spencer Gibb在Spring官网的博客页面宣布:阿里巴巴开源 Spring Cl ...
- 洛谷 2915 [USACO08NOV]奶牛混合起来Mixed Up Cows
一道水状压,然而不知道是不是太久没做过dp了,我盯着它二十分钟才反应过来.... 还把数组开小了WA了一发QAQ //Twenty #include<algorithm> #include ...
- 自己编写jquery插件
http://blog.csdn.net/chenxi1025/article/details/52222327 https://www.cnblogs.com/ajianbeyourself/p/5 ...