白平衡是什么?怎么理解白平衡?

首先要明白什么是白平衡, 它指的是在图像处理的过程中, 对原本材质为白色的物体的图像进行色彩还原, 去除外部光源色温的影响, 使其在照片上也显示白色。

那色温是怎么理解的呢?这个概念其实有点绕, 它是开尔文通过黑体(blackbody) 这一理想光源, 在不同温度下, 所发出光线的颜色特性来定义的。黑体是一个理想化的概念。它是这么一个物体, 能发光, 但会吸收掉任何来自外部的光线, 同时又会把吸收的所有能量以光的形式完全释放出来, 所以叫做黑体。黑体的温度单叫做开尔(K)。从 3300K 到 9300K 的温度变化情况下, 它发光的颜色分别是, 红色, 白色、蓝色。便于理解, 你可以这么想象, 火焰你肯定见过, 内焰温度较低, 外焰温度较高(蓝色), 内焰温度较低的地方是黄色的(暖色), 于是火焰最外面温度最高的地方反而会是蓝色的(冷色), 是不是有点反常识。而色温就是借助黑体的这个温度变化特性来量化色彩倾向的。色温数值低, 偏黄, 色温数值高, 偏蓝, 所谓的冷暖色调就是一种比较感性的叫法了。

<3300K

暖色

3300~6000K

白色

>6000K

冷色

以下是几个常见场景的色温:

烛光 1930K, 钨丝灯 2900K, 中午阳光 5600K, 蓝天 18000K

讲白平衡是如何修正之前, 有两个很重要的理论需要知道:

灰度世界理论:这个理论蛮有意思, 与其说是色彩学, 我觉得更像是统计学的范畴, 它认为任何一幅图像, 当有足够的色彩变化时, 其R, G, B分量均值会趋于平衡(即 RGB 三个数值相等, 也就是说应当是黑白灰类型的颜色)。这个理论在全局白平衡中得到广泛应用, 特点是能够利用更多的图像信息来做判断, 但在面对色彩较为单一的图像时就显得有些乏力了。

全反射理论:一幅图像中亮度最大的点就是白点, 即假设在 YCbCr 空间中Y值最大的点为白色, 以此来校正整幅图像。特点是只考虑色彩最亮的那部分, 跟上面的灰度世界理论正好相反, 在处理色彩偏单调的图像时效果好些, 但面对颜色丰富的图片时, 因为最亮的点不一定是白色的, 可能会出现偏色的情况。

这两个理论分别对应着两种色彩空间 RGB 和 YCbCr 调整白平衡的理论基础:判断一张图片白平衡是否准确, 如果不准确, 如何量化其偏离数值。

白平衡就是一个纠正画面整体偏色的过程, 那为什么人眼不需要呢?其实在你看到一个东西的时候, 眼睛就已经对它进行了色彩修正。相机肯定没有人眼那么智能(至少现在没有), 概括的说, 它的自动白平衡算法就是设定一个范围, 如果拍摄照片的色彩平均值落在这个范围里面, 那就 OK, 说明无需修正。如果偏离出这个范围, 就需要调整参数, 并校正色彩数据直到其均值落入指定的范围内。这就是WB白平衡修正的过程。

下面就来简单介绍几个白平衡算法大致原理, 但具体的增益计算和数学建模过程就不作赘述了, 这东西正常人看了都会头大的。

1. 灰度世界算法(Gray World Assumption)

这个算法原理很简单, 就是根据前面所说的灰度世界理论, 将原始图像的RGB均值分别调整到R=G=B即可。不完美的地方就是这个算法对颜色不丰富的图像敏感程度一般, 处理起来效果也就不会很理想, 局限性较大。

2. 标准差加权灰度世界算法(Standard DeviationWeighted Gray World Assumption)

标准差加权灰度世界算法是针对上一个算法的改进, 它的原理是把图像等分成几块, 然后对每个块利用统计学进行分析, 看里面颜色的丰富程度, 颜色多的就加权, 颜色少得就减少权重, 最后求和得出一个均值。根据这个相对精确的数值来进行RGB数值的修正。

3. 全反射算法(Perfect Reflector Assumpution)

这个是基于前面介绍的全反射理论生成的算法, 理解起来也不难, 它认为中最亮的那个点就一定是白色的, 如果原始图像中最亮的那个点不是, 那就针对偏离白色的数值进行逆向修正。缺点就是如果图像色彩复杂或者就是没有高光点, 它的修正效果就会比较乏力。

上面三个算法比较简单, 运算量不大, 但各有优缺点, 也就进一步衍生出了更加有效但是却要复杂的多一些混合算法, 例如:亮度加权灰度世界算法与全反射算法的正交组合算法(QuadraticCombining Luminance Weighted Gray World & Prefect Reflector Assumption)。看这么长的名字就知道, 这个算法很复杂, 白平衡修正效果也是蛮不错的, 而且它本身是收敛的, 在对图像处理的时候不会带来太多损失, 但可惜运算量巨大, 对硬件资源的要求过高。

算法方面挺枯燥的, 非理工科对数学没兴趣的也可以直接略过, 大体知道这么回事儿就行。但我可以给出的结论是:最终效果越好的算法, 其复杂程度就越高, 运算量就越大, 对硬件电路的要求也高。具体的实现还需要在白平衡校正能力, 算法执行效率, 处理器硬件性能三个方面进行权衡。

而通过上面的了解你就会发现, 如果ISP图像处理器的性能够高, 白平衡算法施展的空间就会大了很多。某些时候白平衡不准确, 一定程度上确实是与ISP性能跟不上有关, 当然, 这里也要看各家厂商在算法优化方面的功底。一般来说同一代各个品牌的旗舰处理性能差别不会特别大, 虽然软件方面下的功夫不容易看到, 但重要性确实毋庸置疑的, 能否把硬件整体性能充分发挥出来才是关键。

举例来说, 在单反刚刚数码化的那个年代, 相机的图像处理器性能比较低下, 难以承受高运算强度的白平衡算法的蹂躏, 于是很多单反相机(如佳能1D, 尼康D2, 奥林巴斯E-1等) 机身上是有一个白平衡感应装置的(就是机身正面的那个小白点), 这个可以辅助提高白平衡准确度。到后来随着相机图像处理器的性能飙升, 大概是从富士通给尼康代工的Expeed一代处理器开始, 就取消了外置白平衡感应器这个装置。通过越来越多的RGB测光分区数, 配合越发强大的处理器来进行更加准确的色温修正。这里多说两句, 分区越多, 白平衡采样处理就越准确, 但同时也会带来计算量上面的飙升, 从最初的只有几个分区, 到 D800 上面用的 9.1 万像素 RGB 感应器, 在同时完成测光和白平衡计算的同时, 甚至还能够余出力气进行人脸识别, 背后那块改用了 ARM 架构 Expeed 3 才是最大的功臣。而像 DC 啊, 手机摄像头啊这类连续取景的相机, 则是用前一帧图像的处理结果应用到后面的图像上去的, 实现方式同单反上面那个单独的测光感应器还不太一样的。这是产品本身结构差异性导致的。

下图这组图片中就是在设置不同的白平衡下拍摄的:

出处:www.zealer.com 李侃 http://www.zealer.com/question/4

时间: 2024-08-04 13:47:06

白平衡是什么?怎么理解白平衡?的相关文章

什么是白平衡?

本文转载自 http://blog.csdn.net/App_12062011/article/details/18791365  如有需要,请移步查看. Technorati 标签: 白平衡 色温 -------------------------------------------分割线开始-----------------------------------------------     所谓白平衡(White Balance):指在图像处理的过程中,对原本材质为白色的物体的图像进行色彩

[lr] 矫正白平衡

中性色区域 ? 定义 中性色又称为无彩色系,是指由黑色.白色及由黑白调和成的各种深浅不同的灰色系列.中性色既不属于冷色调,也不属于暖色调.黑白灰是常用到的三大中性色.中性色区域是指不包含色彩的区域,准确来说在该区域R.G.B三个通道的数值是相等的.所谓的"中性灰"是指在RGB色彩模式下,R : G : B=1 : 1 : 1 ,即红绿蓝三色数值相等,即为中性灰.当R=G=B=128,被称作"绝对中性灰". ? 作用 设定白平衡.精确设置白平衡的最简单方法是使用白平衡

IPC网络高清摄像机基础知识6(CCD 与 CMOS传感器)

需求说明:IPC高清摄像机知识储备 内容      :第一部分 从四大方面分析CCD传感器与CMOS传感器的优劣                 第二部分 解析数码相机的技术参数 整理来自:时间的诗 第一部分 从四大方面分析CCD传感器与CMOS传感器的优劣 来自:http://www.elecfans.com/yuanqijian/sensor/20140724349368.html CCD传感器与CMOS传感器两者在结构.性能和技术上均不尽相同,在此我将两者作一个简单的比较,使广大读者对CC

ISP基础一

1.专业术语 [ColorTemp] 色温 所谓色温,简而言之,就是定量地以开尔文温度(K)来表示色彩.英国著名物理学家开尔文认为,假定某一黑体物质,能够将落在其上的所有热量吸收,而没有损失,同时又能够将热量生成的能量全部以“光”的形式释放出来的话,它便会因受到热力的高低而变成不同的颜色.例如,当黑体受到的热力相当于500—550℃时,就会变成暗红色,达到1050-1150℃时,就变成黄色,温度继续升高会呈现蓝色.光源的颜色成分与该黑体所受的热力温度是相对应的,任何光线的色温是相当于上述黑体散发

opencv实现图像优化

简介 本篇是使用opencv实现,对图像亮度.对比度.锐化.白平衡和饱和度的调整. 具体实现 总体框架 1.首先是打开需要调整的图片到src中,接着创建了一张新图片src2,将对对象编辑的所有bar,绑定到src2中.接着循环等待用户操作. 如果用户按下'q',则退出程序:用户按下's',则保存当前图片到新文件中. memcpy(pic_name,argv[1],sizeof(argv[1]));   src=cv::imread(pic_name,1); width = src.rows; h

Camera.Parameters 参数

public class Camera.Parameters extends Object java.lang.Object    ? android.hardware.Camera.Parameters Class Overview     类概述 相机的服务设置. 使相机参数生效,应用程序必须调用setparameters(相机参数.).例如,在setwhitebalance(字符串)被称为,白平衡不实际上改变了之前setparameters(相机参数.)被称为参数变化的对象. 不同的设备可

Qt Multimedia Backends(多媒体后端)翻译

目录 MediaService plugins 媒体服务插件 不同后端支持的媒体播放器功能: 后端支持的摄像头(相机)功能 后端支持的音频解码功能 Audio plugins 音频插件 原文地址: Qt Multimedia Backends Qt 5.11 Multimedia Backends 对于大多数功能,Qt Multimedia建立在底层系统的多媒体框架之上.因此,有基于不同技术和API的多个多媒体后端.平台特定的库和Qt Multimedia之间使用插件进行结合. Qt Multi

白平衡0005

这里只做简单介绍,难度还是比较大的,还要慢慢理解. (只需改变一点点就会金碧辉煌的效果) 白平衡,为了得到一个接近于真实的白色,相机会增加另外一种颜色来调和光线,这个实际上就是白平衡的原理了.

paper 107:图像的白平衡

所谓白平衡(White Balance):指在图像处理的过程中,对原本材质为白色的物体的图像进行色彩还原,去除外部光源色温的影响,使其在照片上也显示白色.也就是不管在任何光源下,都能将白色物体还原为白色. 白色是指反射到人眼中的光线由于蓝.绿.红三种色光比例相同且具有一定的亮度所形成的视觉反应.我们都知道白色光是由赤.橙.黄.绿.青.蓝.紫七种色光组成的,而这七种色光又是由红.绿.蓝三原色按不同比例混合形成,当一种光线中的三原色成分比例相同的时候,习惯上人们称之为消色,黑.白.灰.金和银所反射的