有关白平衡的深度讨论
2628
30
|
[1 楼] johnyj
[资深泡菜]
13-1-29 13:10
一个很简单却极难回答的问题:
在白炽灯下用白卡自定义白平衡并拍摄色卡,然后在蓝天下的阴影处用白卡自定义白平衡并拍摄色卡,最后对比两张照片,两图中各色块的颜色是一样的么? 此外还有一问:类似的两种情况下,人眼看到的色卡,对各色块的颜色印象是一样的么? 这里涉及到一个根本问题:人眼对环境光的自动颜色平衡是针对感光细胞的,还是针对最后大脑中的成像的? 当然这里还涉及到其他诸如白点,色彩空间等一大堆迄今为止我都没完全搞清楚的问题,正好借这个问题一起研究,希望这方面有兴趣的坛友们一起讨论 之所以选择这两种不同的光线场合,因为白炽灯的光,色温3000K,红光多,蓝光少;而蓝天下的阴影处,色温9000K,红光少,蓝光多,这两种场合截然相反,得出来的结论就会比较明显 为简单起见,白光分解成红绿蓝三种单色光(这和细分成七种单色光或60种不同波长的单色光组合相比,原理上都一样,总之就是白光是由多种颜色的光组合而成,分解的数量多了要用到积分,分析的复杂度就大了,不容易看清本质) |
|
[31 楼] stevenkoh
[泡菜]
12-13 14:10
老顽童 发表于 2024-11-22 20:38 色温是一个很复杂的概念,难在反直觉。这个论坛有一个符合直觉的伪概念——“匹配色温”(RAW详解㈢,#10)。作者还煞有其事的鼓吹『换句专业一点的话说,就是CMOS的匹配色温是多少....』 不过真的遇到专业人士看了肯定不严谨。这就是上面绿色的专业人士指出的,“误以为RAW数据RGB等量加起来就是白色”。这话什么意思呢?就是相机只有在RAW数据的某个灰点上,这三个分量比例才是相机认为估算的是光源色温的光强比例(而非真正的颜料白色)。而此时切不可简单的等比例扩展一下就认为是“白色”。而民间科学人士就是犯了这个错误,自己误以为读懂了,而炮制了“匹配色温”的概念,因为这样理解非常符合直觉。所以,很多不明就里的也接受这样的“科普”。而且要命的是,这个很容易错上加错,误以为Adobe ACR 有独特的『高光扩展算法(Highlight Expand)RAW详解㈥#20』。因为这是作者自己说的“基于CMOS匹配色温的缘故....”。 但真的正确理解,就知道这个无法“等比例扩展”,这个等比例仅仅是为了色彩矩阵的左右向量都是同一个归一化处理,并不是白色。因此,这种所谓“匹配色温”和所谓的“高光算法”就知道这其实在数学上是没有意义的,而科学家为这个问题研究了近百年。 其实ACR的作者在开始ACR编写的时候,也才知道这个问题。但ACR作者是天才,很快理解了,但普通的码农照抄《色度学》教材的公式,虽然能行,但不理解其中内在的核心逻辑。所以,色温是RAW解析最复杂的抽象理解部分,难到了一般专业人士都不想解释了,的确很反直觉。 实际上,出现这种“符合直觉”的错误是情有可原,也是非常正常的。只需要承认有错误瑕疵就行。 stevenkoh 编辑于 2025-12-13 14:22 |
|
[30 楼] stevenkoh
[泡菜]
12-11 21:51
johnyj 发表于 2013-01-29 22:35 RAW解码最难理解的就是色温。ACR里对应“原照设置”有两种,一种是用户设置色温;另外一种就是AWB(自动白平衡,自动侦测色温)。后者叫 DNG::AsShotNeutral。例如,在某个DNG文件里, IMG_20211120_080048.dng AsShotNeutral:0.3496637848,1,0.4607594937 AWB相机告诉将来的解码程序,该照片RAW文件拍摄的白色,rgb的比例是 0.35 : 1 : 0.46。 在解码RAW的时候,最难理解的就是猜测这个比例的对应的色温点。/thread-1474858-findpost-89579686.html#p_89579686 而“用户设置色温”,其实就是人为设置一个 CIE xyY色平面的一个点。虽然看似相机设置色温是一个等色差平面,但是相机会把这个数值转换成一个色温点,这个数值就保存在 DNG::AsShotWhiteXY。这就省略了上面的猜测色温的过程。 |
|
[29 楼] 影像传真
[资深泡菜]
22-7-25 13:39
没必要纠结于绝对的色准,因为在现实中是不可能存在的。
在现实中,色彩的记录和还原是个极复杂的过程,跟非常多的因素相关,下边挑我想得起来的几个说说 1、“白平衡”的操作仅仅只是锚定了白点,黑点如果不进行校准设置的话(更专业的机型会有黑平衡的校准),或者就算黑点也进行了校准,但RGB三条曲线的曲率不一致(理论上也没法做到完全一致),那么除了校准过的一黑一白两点外,其它点都是不能百分之百还原的。 2、现实中不存在完完全全纯粹是某个色温的光,环境各种不同色彩物体的反射,甚至色卡本身的存在,都影响到光的构成,从而影响了物体的色彩表现。 3、无论是自然光还是人造光,光谱的分布都不可能是理想的一条直线,所以不同光源的显色性是肯定不一致的 所以不同光照环境下,几乎不可能得到完全一致的色卡表现,而这一点又是影视行业非常希望解决的问题,因为他们的工作实际,很有可能遇到一场戏要分开两个时间来拍的情况,那么怎么才能让两次拍摄的色彩较为接近,让观众分辩不出呢?除了尽可能恢复原有的光照环境(棚内就全套用回原有的布光方案和灯具设备,但如果是外景那就百分百不可能了),剩下的就只能交给后期调了。有正规工作流的剧组都会在需要接色的两条拍摄中先拍下色卡,让后期系统可以根据两张色卡进行自动校正,自动校正也只能保证色卡中出现的色彩无限接近,而色卡中没有的色彩那就未必能保证了。 最后,对于硬照来说,真没必要过多地考虑色彩绝对还原的问题,所有的后期软件和大部份创作者,实际上做的都是如何有意识地把色彩调偏,调成能够表达创作意图的那种色彩氛围和调性。 |
|
[28 楼] stevenkoh
[泡菜]
22-7-22 22:43
johnyj 发表于 2013-01-29 13:10 这就是色彩管理最难的地方。何为“色彩管理”的开头?其实这个问题,可以用专业回答:我们专业色彩管理人员根本不在乎你个人的感觉是否一样,这与色彩管理无关。 举个例子:假如你是梵高,我们不在乎你白炽灯画的“向日葵”,和蓝天下的阴影处下画“向日葵”,甚至你根本不是具体写生,而是凭借脑海中的印象做画“向日葵”。我们搞色彩管理的,我们只在乎梵高的那副原画作,而无所谓梵高脑子里怎么想的。我们关注的是确保各地博物馆的仿制品和原作色彩一样,而不是和梵高脑海中的一样。这就是色彩管理的意义。 白炽灯下的白纸,你要是觉得是橙色就是橙色,你要是觉得是白纸的白色那就是白色。由你决定,这不存在“客观判定标准”,只存在描述、记录和重现那些“主观判定”的客观标准。 RAW,可以看作画家一个速写草稿,记录下当时明暗关系。色彩管理链路的开头,不是这个速写的草稿,而是那副“全世界都确认”的向日葵原作的画。这幅画是什么颜色,就是什么颜色。哪怕梵高把向日葵画成红色,我们也照样复制。 搞清楚这个逻辑关系,种种各类白平衡的不精确表述就可以统一了。注意,上述是“自动白平衡”和“人工指定色温”之间最重要的差别关系,尽管这都叫做“白平衡”。 |
|
[27 楼] hewei807
[泡菜]
14-7-8 09:51
把简单的问题复杂化了,色彩管理技术变成了科学研究,强人。
|
|
[26 楼] 安息茴香
[注销用户]
14-7-7 23:44
用户已注销,历史内容不予显示
|
|
[25 楼] yef902003
[泡菜]
13-3-14 15:08
你们这些人不去学个光电工程学,而是天天泡无忌,真TM是浪费了
|
|
[24 楼] ygh0485
[资深泡菜]
13-3-14 14:58
第一幅图绿色盲色觉
|
|
[23 楼] ygh0485
[资深泡菜]
13-3-14 14:55
前一幅图红色盲色觉
|
|
[22 楼] ygh0485
[资深泡菜]
13-3-14 14:54
图一正常人色觉
|
|
[21 楼] ygh0485
[资深泡菜]
13-3-13 23:54
johnyj 发表于 2013-2-2 10:05 前二个问题回答不完全准确,改变一下前半的场景,如以眼睛几乎看不到的带色温弱光哪,相机和眼睛的的色相觉和色平衡又如何?请大家研究和实验后再回答。 第三个问题的回答没有定论,已知医学科学已经证明感光色觉的主要是视网膜中的视锥细胞的功能,按三原色理论,有红绿蓝三种视锥细胞分别感光,再传到大脑形成主观的心理的大家已经共识的色度认知,如从你认知色彩的概念起公认的色相色度和名称,所以一个具有正常视色觉的人看到的颜色的色相色度都是一样的,就不会把看到的红色说成蓝,但是色盲的人就不一样了,从他开始接触颜色概念开始,他看到的红色的色相不是我们正常人的那个色相,那哪色盲的人怎么看到的正常人的中心色平衡,红绿色盲看到的彩色图片是怎样的哪,这已经可以在ps中校验样功能中模拟。目前为止医学科学推迟可能同红绿黄三种视锥细胞有关,这在解释红绿色盲中完全成立。 |
|
[20 楼] slowtapir
[资深泡菜]
13-3-13 00:00
lonelyorchid 发表于 2013-3-12 23:54 不明觉厉 |
|
[19 楼] lonelyorchid
[泡菜]
13-3-12 23:54
其实白平衡只不过是色彩空间转换中的一个非常不精确,但是却非常常用的变量。
你的解释非常正确,除了一点RGB色彩空间本身是不完美的,因为如果RGB能够混合得到白色,则必须存在负亮度的红光(参考XYZ色彩空间),而事实上,负亮度的光线是不存在的,所以用RGB再现全光段本身就是不可能的。 其次在色域图上,除红蓝边为严格直线(因为不存在该光谱,紫色是人脑幻想出来的颜色,在光谱中不存在),其余部分均为外凸,因而用有限色是不可能完美覆盖全部色域的。 当然白平衡也是一个十分有意义的概念,因为在这个概念创立之初,主要的光源还是来自于黑体热辐射或类黑体热辐射。其辐射光谱与温度有明确的函数关系。但在今天,这个概念已经远不够用了,因为今天的主流光源已经不再是基于热辐射了,而是受激辐射,比如各种高低压蒸汽灯、荧光灯等,其辐射光谱已经明显偏离了黑体热辐射光谱的轨道。所以如果讨论白平衡,最好还是在这个概念适用的范围内:各种火焰(焰色除外),炽灯,日光、星光等黑体热辐射适用的场合。 一个常见的错误就是阴天的色温高,晴天色温低。因为光球层的温度基本稳定在4600K,所以无论晴天还是阴天,哪怕是黑天,色温都是4600K(如果太阳是唯一光源)。当然,比较巧合的是,由于大气水分子折射、散射的光谱是连续的,所以在一定范围内近似于7000-9000K色温,所以才如此称呼。由此产生的一个更严重的错误是,人们认为高纬度晴天下阴影处显出的蓝色是色温偏高的结果,这是由于一个直觉上,低温黄、高温蓝的错误观念导致的。阴影处的蓝色是由于蓝天散射的日光导致的,而蓝天本身并不是辐射源,所以也就不存在色温一说。在60度以上的维度这种现象尤其明显。 回到,光源上,如果光谱连续,那么确实可以按照你的分析得出修正的放大倍率,从而近似还原色彩。但是如今的人工光源由于多为受激辐射光源,所以其谱线常带状或者甚至线型(不连续光谱)。因此色彩是绝无可能通过一个矫正的放大倍率而还原的,因此人们又创造了一个概念,显色性,形象地反映了光源对于还原物体固有色的能力。而对于显色性差的光源,无论如何设置白平衡都是无济于事的。 再回到色温上,理想黑体的色温曲线只是舌型图中很短的一条弯曲的曲线,所以对于所有不在这条曲线上的光源,都是无法通过调谐色温来还原的。但是按照此形式,人们进一步构建了一个二维坐标系,一条轴沿色温曲线,然后向两端延伸,另一坐标轴则近似正交地穿过色温曲线的5200-5600k,像绿、洋红方向延伸,从而弥补了 色温曲线 无法对任意连续光谱光源进行校正的问题。这种正交方式也近似于人眼对于色彩的感知模式,以及L*a*b*色彩空间模型。 简单来说,除了楼主不小心疏忽的概念之外,楼主的分析在理论上是成立的,但是在实践中却不是严格按照这个简单的理论框架进行的,还有很多的影响因素。所以我认为还是增强主观的色彩感知能力,然后依照感觉而非按部就班地将其数学化,毕竟色度学是科学,但是美学不是。 |
|
[18 楼] gg889r
[资深泡菜]
13-2-19 00:07
搬个板凳 听听看
|
|
[17 楼] hotdjy
[资深泡菜]
13-2-6 08:41
技术强贴,果断mark
|
|
[16 楼] losagelos
[资深泡菜]
13-2-5 15:47
|
|
[15 楼] johnyj
[资深泡菜]
13-2-5 15:19
|
|
[14 楼] losagelos
[资深泡菜]
13-2-5 13:59
搞清这个比搞清快门光圈更麻烦,环境色温和机内色温不一致就造成照片偏色,但是有时候为了追求某些效果,是要故意调整的。
|
|
[13 楼] johnyj
[资深泡菜]
13-2-3 00:00
|
|
[12 楼] 雨夜不眠
[泡菜]
13-2-2 11:14
|
|
[11 楼] johnyj
[资深泡菜]
13-2-2 10:38
eldeshawn 发表于 2013-2-1 18:17 1. 红绿蓝三个色块的数值是我根据色卡的标准值转换出来的,实际上你可以都用一个通道2000而其他两个通道1000来简化,700这个数并不很好,但色卡的红色块SRGB值是175,54,60,大概就是3:1:1的关系,我才用了700 之所以其他两个通道也有读数,是因为色卡的设计上就是要让每个色块都同时反射三种光,使三个通道都有读数,这样才好精确定位,否则仅仅只有一个通道有读数而其他两个都是0的话,就落到色域之外了,起不到校正的作用 而且就人眼或相机的构造来说,就算很纯的红激光,也会在红通道和绿通道都同时产生反应,很少情况只在红通道有反应的,你看一下人眼的光谱感应特性,光谱上大多数区域都是红绿两个感光细胞同时有反应 2. 我说的原始白平衡参数是指在理想白光下三通道的放大系数之比,这个比例对每台相机来说是固定的,但相机和相机都有微小差异。至于每张图片里的白平衡参数,都是相机根据现场光线计算(自动白平衡)或机内设定的,一般都会偏离这个原始参数一些,但不会太多 |
|
[10 楼] johnyj
[资深泡菜]
13-2-2 10:05
|
|
[9 楼] eldeshawn
[泡菜]
13-2-1 18:17
johnyj 发表于 2013-1-30 10:55 |
|
[8 楼] johnyj
[资深泡菜]
13-2-1 09:23
实际上,因为每种光线在两个通道都有信号,必须详细分析
先看理想白光,红绿蓝三束光,每束2000个光子,分别被红绿蓝三通道接收 红光的3/4为红通道接收,1/4为绿通道接收,在红通道产生1500信号,绿通道产生500信号 绿光的2/4为绿通道接收,各1/4为红蓝通道接收,在绿通道产生1000信号,红蓝通道各产生500信号 蓝光的3/4为蓝通道接收,1/4为绿通道接收,在蓝通道产生1500信号,绿通道产生500信号 于是加在一起,相机的三通道信号分别是 红:1500+500=2000 绿:1000+500+500=2000 蓝:1500+500=2000 依然是一个完全平衡的白光输出,白平衡参数1:1:1 假设此时色卡的红色块最终信号是: 红:2000 绿:1000 蓝:1000 那么先计算红色块反射进相机的三种光到底各自多少: 红光R的3/4为红通道接收,1/4为绿通道接收 绿光G的2/4为绿通道接收,各1/4为红蓝通道接收信号 蓝光B的3/4为蓝通道接收,1/4为绿通道接收 2000=0.75R+0.25G 1000=0.5G+0.25R+0.25B 1000=0.75B+0.25G G=0, R=2667, B=1333 这说明,此时红色块对于红光反射2667,对于绿光全部吸收不反射,蓝光反射1333 --------------------------------------------------------- 假设环境光变化,红光少一半,蓝光多一倍,那么白色块成像变为 红:750+500=1250 绿:1000+250+1000=2250 蓝:3000+500=3500 要将这样一个数据纠正到平衡,白平衡参数就要变成1.8:1:0.6429 再看红色块,现在因为红光少一半蓝光多一倍,对红光反射1333,对蓝光反射2667,绿光不反射,三通道输出变为: 0.75R+0.25G=1000 0.5G+0.25R+0.25B=1000 0.75B+0.25G=2000 根据白平衡参数调整白平衡后,红通道变成1800,绿通道1000,蓝通道变成1286,虽然仍然是红色,但比起原来的2000,1000,1000,红通道有所减弱,蓝通道有所加强,略偏品 这才是真相,可见我上一楼的理解是错误的,白平衡不能完全把非标准光下拍摄的色卡校正到和标准光下的颜色一致。实际上,我印象中在蓝天阴影下的色卡,各色块表现确实就是要更偏蓝一些,即使我大脑已经根据环境光将白色块认定为白色,但因为人眼感光的特殊性,环境光的变化导致看到的颜色确实出现了变化,也就是说此时的色卡照片即使在纠正白点之后,各色块表现也会不同于标准白光下的表现,但这又是真实的,因为人眼所见就是如此,如果强行把这时的色卡纠正到和标准光线下一样,就反而产生了偏差,和人眼所见不同 |
|
[7 楼] 龙与地下城
[泡菜]
13-2-1 07:55
|
|
[6 楼] johnyj
[资深泡菜]
13-2-1 07:49
进一步
假设白光变成了高色温光,红光的量少了一半,绿光不变,蓝光的量多了一倍,于是白色块的成像三通道读数为 R 1000 G 2000 B 4000 本来1:1:1的白平衡参数,就要变成2:1:0.5,才能使白色块记录的信号三个通道相等。2:1:0.5就是此高色温下的白平衡参数 此时,在高色温环境光下,红色块的三通道反应是: R 1000 (因为红光少了一半) G 700 B 1400 (因为蓝光多了一倍) 经过以上白平衡参数调整后,就变为 R 2000 G 700 B 700 这和在理想白光的情况下表现完全一致 这里未涉及任何转换,仅就相机记录的最原始数据分析,这似乎可以得到一个结论: 在任何其他色温下,只要拍摄白卡自定义白平衡获得了正确的白平衡参数,那么所有的其他色块都将和标准白光下的表现完全一致 我以前一直有个误解,认为在不同的环境光下,色卡的颜色必然是不同的,因此就每一种不同的光线都需要一套单独的色卡标准值来做校正。但这个分析说明,虽然不同的光线下色卡的颜色都不同,但经过白平衡校正以后,最终每个色块在相机记录的三通道数据都是相同的。 当然,因为放大比例的关系,有些通道会溢出,但在不溢出的前提下,任何光线下只要做好白平衡,色卡上各色块的颜色记录下来应该都是一样的 当然了这是个比较简化的例子,接下来再分析一下稍微复杂一点的情况,即每种光线都在两个通道有信号,这是比较接近实际的 |
|
[5 楼] johnyj
[资深泡菜]
13-1-30 10:55
续前,一旦白平衡参数算出来了,三通道信号的各自放大倍数就固定了
为方便起见,可以简化,假设某理想相机,这个参数是1:1:1,也就意味着三通道的放大倍率相同。这不影响分析,只是对应于这样一种1:1:1的白平衡参数,该相机的三通道特性必然和5D2的有很大不同。其实上一代X3芯片的相机,这个参数就接近1:1:1,三个色彩感光层设计上厚度完全不同,就是为了达到白光下基本上1:1:1的放大关系 那么,该理想相机,在中等亮度的白光下,三通道输出无需任何调节,直接就是: 红通道 R 2000 绿通道 G 2000 蓝通道 B 2000 此时该白光照射的色卡上的红绿蓝色块在该相机成像: 红色块: R 2000 G 700 B 700 绿色块: R 1000 G 2000 B 1000 蓝色块: R 700 G 700 B 2000 这三个色块的位置加上白点,就覆盖了整个相机可记录颜色的绝大部分,如果这四个点是准确的,那么其他颜色都不会偏差太多,色卡上一共有24个不同颜色的点,每个色块都对应着相机三通道的唯一一种输出组合,为简便起见,仅考虑这4个点的情况 此处还未涉及色彩空间转换,是仅仅就相机本身的色彩空间讨论,实际上色彩空间转换是最麻烦的地方,回头单独分析 |
|
[4 楼] johnyj
[资深泡菜]
13-1-29 22:35
一点理论分析:
一束红色激光,一束蓝色激光,一束绿色激光,三种光能量相同,混在一起形成一束白光,这是理论上的白光,自然界中不存在,但便于分析 这白光进入相机,对相机芯片的红绿蓝三个通道分别产生了刺激,而每种光对其他两个通道无刺激。这也是理论上的假设,实际上每种光都起码对两个通道有刺激,但为了分析方便,做简化 假设12位的芯片,各通道的电压输出经模数转换后,最大输出信号是4096,那么在刚好不过曝的情况下: 红通道输出2000 绿通道输出4000 蓝通道输出2500 于是三通道白平衡系数之比就是2:1:1.6,因为2X2000=1X4000=1.6X2500,这就是相机的原始白平衡参数,所有相机的三通道数据都要乘以这三个倍数 以上其实就是白卡或灰卡在白光下自定义白平衡的过程,相机根据白色物体成像的三通道最终输出应相同的原则,计算出以上三通道白平衡系数之比 至于为何红色和蓝色通道的原始输出较小,这和各个芯片使用的色彩滤镜以及厚度都有关,以上倍率是我从5D2的RAW文件里提取出的,有一定代表意义 因此,白光的成像,三个通道的输出在经过白平衡系数调整之后,完全相同,红=绿=蓝,而这个点就是该相机在该种光线下的白点 于是就有个结论:白点的选择会影响到相机可表现色彩的范围。这很容易理解,假设因白点变化而导致红通道增益从2变成2.5,那么原来2000X2是4000,还在最大信号范围内,而2000X2.5的话,就是5000,溢出了,所有红通道记录的在1600到2000之间的变化,在白平衡参数处理后全都是最大值,也就是全都是4096。当然,相机记录的RAW信号是不会受到影响的,但白点的选择却会影响到最终出图的各通道宽容度 |
|
[3 楼] johnyj
[资深泡菜]
13-1-29 21:22
这两天阴天,等天晴了,我找一个蓝天下的阴影处拍摄一个色卡图,白炽灯下么随时都可以拍
有关这个问题,其实制作过ICC或DNG之类相机配置文件的人就有了解,需要针对每一种不同的光线分别制作ICC,这是一个十分令人疑惑的问题,人眼不需要针对任何一种不同的光线专门戴不同的眼镜,为什么相机需要? 昨天先想到一点重要的:记录和重放是完全不同的两个概念 一般情况下摄影爱好者容易把这两点混为一谈。比如说红色激光,光谱仪记录下来是630纳米,那么630纳米波长就是该光线的唯一精确读数。这个红色在普通LCD屏幕上和在广色域显示器上显示出来,人眼看到的是不同的红,但就记录的数据来说,是同样的,有关白平衡的讨论,应该最终以数据为准而非显示器上看到的为准,将数据输出到显示设备上的过程其实和这个讨论无关 |

不明觉厉