白平衡算法---色温曲线

本文大体讲解了白平衡的算法流程,适用于想了解和学习白平衡原理的筒子们.

一般情况下要实现AWB算法需要专业的图像和算法基础,本文力图通过多图的方式,深入浅出,降低初学者理解上的门槛,让大家都理解到白平衡算法流程.

看到这里还在继续往下瞄的同学,一定知道了色温的概念,并且知道sensor原始图像中的白色如果不经AWB处理,在高色温(如阴天)下偏蓝,低色温下偏黄,如宾馆里的床头灯(WHY!OTZ) (如下图).

下面这个T恤的图片非常经典,怎么个经典后续再说,不过大体可以看出有偏黄和偏蓝的情况.虽然如此,却已经是AWB矫正以后的效果.

所以,为了眼前的女神白富美在镜头里不变成阿凡达和黄脸婆,这时就需要白平衡来工作了.

流程原理很简单:

1,在各个色温下(2500~7500)拍几张白纸照片,假设拍6张(2500,3500…7500),可以称作色温照.

2,把色温照进行矫正,具体是对R/G/B通道进行轿正,让偏色的白纸照变成白色,并记录各个通道的矫正参数.

实际上只矫正R和B通道就可以,这样就得到了6组矫正参数(Rgain,Bgain).

3,上面是做前期工作,爱思考的小明发现,只要知道当前场景是什么色温,再轿正一下就可以了.事实上也就是如此.

所以,AWB算法的核心就是判断图像的色温,是在白天,晚上,室内,室外,是烈日还是夕阳,还是在阳光下的沙滩上.或者是在卧室里”暖味”的床头灯下.

之前拍了6张色温照以及6组矫正参数.可是6够么,当然不够, 插值一下可以得到无数个值,我们把点连成线, 得到了一个神奇的曲线------色温曲线.大概是下面这个样子.

上面提到了三个值(RG,BG,色温),这应该是个三维的.没关系,我们再来一条RG跟色温的曲线,这样只要知道色温,就知道RG,知道RG,就知道BG,知道RG,BG就能轿正了,yes!

至此,我们的前期工作已经全部做完了, 并得到了AWB的色温曲线,下一步只要计算得到当前色温,顺藤摸瓜就能得到当前的矫正参数(Rgain,Bgain),那白平衡的工作就作完了.(放心,当然没这么简单)

第一部分先到这里,下一部分将讲解AWB算法的核心------计算图像色温.

涉及到的知识点大致有图像分块, 判断白区, 根据色温曲线划分不同光源, 对不同光源加权平均得到实际色温.

自动白平衡(AWB)算法---1,色温曲线相关推荐

  1. 自动白平衡(AWB)算法---2,色温计算

    本文主要讲解了白平衡算法中估算当前场景色温的流程. 色温计算的原理并不复杂,但是要做好,还是要细心做好每一步工作,这需要大量的测试,并对算法不断完善. 首先简单说一下流程: 1, 取一帧图像数据,并分 ...

  2. awb数据怎么计算_白平衡自己主动(AWB)算法---2,颜色计算

    本文说明了白平衡算法估计当前场景的色温过程. 色温计算的原理并不复杂,但要做到,还是一道,认真做好每一步,这需要大量的测试,和算法一直完好. 关于该过程首先简要: 1, 取的图像数据,并划分MxN块, ...

  3. matlab生成s加减速曲线,一种基于移动平均算法的S曲线加减速控制方法与流程

    本发明属于运动控制领域,具体涉及一种基于移动平均算法的S曲线加减速控制方法. 背景技术: 加减速技术是数控系统的关键技术之一,算法的优劣直接决定着加工效率和加工精度.一种优秀的加减速算法既可以保证机床 ...

  4. 算法比较——ROC曲线和PR曲线

    做过图像识别.机器学习或者信息检索相关研究的人都知道,论文的实验部分都要和别人的算法比一比.可怎么比,人多嘴杂,我说我的方法好,你说你的方法好,各做各的总是不行--没规矩不成方圆.于是慢慢的大家就形成 ...

  5. 【智能优化算法】基于曲线自适应和模拟退火的蝗虫优化算法求解单目标优化问题附matlab代码

    1 简介 针对蝗虫优化算法容易陷入局部极值点,收敛速度慢,精度较差等缺点,提出曲线自适应和模拟退火蝗虫优化算法.首先,引入曲线自适应代替蝗虫优化算法关键参数的线性自适应,提高了算法的全局搜索能力;其次 ...

  6. Matlab-TOA定位算法性能仿真 TOA-LLOP和TOA-CHAN得到位置的估计 两种算法的性能比较 两种算法的RMSE曲线对比图

    本博客环境为Matlab2018 ,软件版本不同可能会有些出入,需要稍作修改. TOA定位算法性能的仿真 要求一:编写两个函数TOA_LLOP和TOA_CHAN得到位置的估计. 要求二:用RMSE实现 ...

  7. 关于自动白平衡的算法问题

    白平衡 白平衡并不是数码摄影特有的东西,胶片也有白平衡,只不过胶片的白平衡是预设的,如钨丝灯型胶卷在钨丝灯光源的照射下拍出的照片就可以有正确的白平衡.换句话说,在胶片时代,摄影师根据光源的不同而选择不 ...

  8. LS文法构图算法(3) Hilbert-Peano曲线

    在前面一篇中讲了如何用递归算法来画Hilbert-Peano曲线,这一篇再尝试一下使用LS文法构图算法来构建它.这就要使用多规则的LS文法了,多规则情况下的字母表中,有1个以上的字符,在迭代时更加复杂 ...

  9. 不同算法下校准曲线对比

    from sklearn.datasets import make_classification from sklearn.calibration import calibration_curve # ...

最新文章

  1. 干掉cms,zgc才是未来
  2. Java基础加强总结(三)——代理(Proxy)
  3. httpurlconnect设置中文参数_CNC数控机床三菱系统参数的设置及报警解除
  4. 深度解析mysql登录原理
  5. java元婴期(24)----java进阶(mybatis(3)---动态sql(重点))
  6. join 高性能_内置的数据无法实现高性能
  7. 【安卓开发 】Android初级开发(五)自定义View
  8. postgresql定义访问ip与用户_PostgreSQL 设置允许访问IP的操作
  9. python常用的库有哪些餐厅_这十个Python常用库,学习Python的你必须要知道!
  10. python操作redis set_Python操作redis学习系列之(集合)set,redis set详解 (六)
  11. 计算机科学现代教育,现代教育技术教程-计算机科学教育.pdf
  12. CUDA安装失败,及解决方案
  13. HFSS19 官方中文教程系列Workshops L01
  14. 利用opencv对图像进行二值化处理
  15. clientkey(ClientKeyt利用)
  16. python设置默认utf8编码_Python设置默认编码为utf8的方法
  17. MySQL创建远程连接用户,使用远程工具连接数据库(详细)
  18. 利用Pandas拆分Excel的单元格为多行并保留其他行的数据
  19. 元胞自动机 C实现 + OpenCV界面
  20. 腾讯X5浏览器的学习研究

热门文章

  1. 【托业】【语法题】笔记
  2. 四川企立方电商:拼多多降价导致降权怎么
  3. HDMI 1.4和HDMI 2.0区别
  4. html5弹页面腮红,腮红可以用手涂吗?腮红用刷子还是粉扑?
  5. 车载智能导航系统有没有采用嵌入式计算机,嵌入式车载导航系统的应用与研究...
  6. JAVA多线程基础篇 4、可见性、有序性与Volatile
  7. Verilog RTL 代码实战 01——半加器全加器
  8. 天水师范计算机与科学怎么样,甘肃大学分析:陇东学院和天水师范哪所师范类本科好?...
  9. 实验四+126+黄晟
  10. 设计模式六大原则之--开闭原则(OCP)