【OpenCV开发之二】图像白平衡part_one
2017-08-28 11:16
1816 查看
一、概念
什么是白平衡呢?白平衡就是针对不同色温条件下,通过调整摄像机内部的色彩电路使拍摄出来的影像抵消偏色,更接近人眼的视觉习惯。白平衡可以简单地理解为在任意色温条件下,摄像机镜头所拍摄的标准白色经过电路的调整,使之成像后仍然为白色。这是一种经常出现的情况,但不是全部,白平衡其实是通过摄像机内部的电路调整(改变蓝、绿、红三个CCD电平的平衡关系)使反射到镜头里的光线都呈现为消色。二、方法
1、灰度世界算法
灰度世界算法以灰度世界假设为基础,该假设认为:对于一幅有着大量色彩变化的图像,R、G、B,三个分量的平均值趋于同一灰度值。从物理意义上讲,灰色世界法假设自然界景物对于光线的平均反射的均值在总体上是个定值Gray,这个定值近似地为“灰色”。颜色平衡算法将这一假设强制应用于待处理图像,可以从图像中消除环境光的影响,获得原始场景图像。算法执行步骤:
(1)确定灰度均值:Gray
(2)计算三个通道的增益:Kr,Kg,Kb;
(3)调整R、G、B分量;
这种算法简单快速,但是当图像场景颜色并不丰富时,尤其出现大块单色物体时,该算法常会失效。
2、完美全反射理论
完美全反射理论(perfect Reflector)假设图像上最亮点就是白点,并以此白点为参考对图像进行自动白平衡,最亮点定义为R+G+B的最大值。3、动态阈值算法
参考论文:A Novel Automatic White Balance Method ForDigital Still Cameras
算法分为两个步骤:白点检测和白点调整。
三、验证
通过测试效果表明:动态阈值法,1、该算法效果非常好;2、对块大小不太敏感,因此非常适合于自动化操作。相关文章推荐
- 【计算机视觉】【图像处理】【VS开发】【Qt开发】opencv之深拷贝及浅拷贝,IplImage装换为Mat
- 【OpenCV图像处理入门学习教程一】OpenCV2 + 3的安装教程与VS2013的开发环境配置 + JPEG压缩源码分析与取反运算修改
- OpenCV与MFC通用型图像处理开发实践
- Kinect For Windows V2开发日志四:使用OpenCV显示深度图像
- OPENCV用户手册之图像处理部分(之二):采样、差值与几何变换(中文翻译)
- 图像开发的p2s模式:halcon+opencv的联动
- Android-图像识别项目OpenCV(4):开发思路以及问题
- win10 64位+Kinect 2.0+VS 2013+opencv开发环境搭建及深度图像读取
- 图像处理之基础---opencv 开发的环境搭建
- Qt 5.3 下OpenCV 2.4.11 开发(6)遍历图像和领域操作
- opencv开发笔记(八):利用感兴趣区域ROI实现图像叠加
- 【opencv+python】图像处理之二、几何变换(仿射与投影)的应用
- Android-图像识别项目OpenCV(4):开发思路以及问题
- VC2010+GSL+OpenCV图像处理开发环境搭建
- 《OpenCV》Part6 OpenCV3.1.0 用直线拟合图像中的物体
- Qt 5.3 下OpenCV 2.4.11 开发(8)查表法直方图修改图像
- 【VS开发】【图像处理】相机中白平衡的算法模拟实现
- 研究Opencv之二:载入并显示图像
- 手把手教你OPENCV FOR ANDROID 之二_ android开发环境搭建
- 使用OpenCV开发iOS图像处理应用(To be continued..)