1. 色彩科学基础:光与色的物理本质、人眼视觉特性、CIE色度系统与色温概念
做安防监控图像这么多年,我越来越觉得——色彩还原这件事,根子不在算法,而在物理。你连光是什么、人眼怎么看颜色都没搞明白,调出来的白平衡就是瞎调。这一章,咱们先把底层的科学基础夯实。
1.1 光的物理本质:颜色从哪来?
说白了,颜色就是光。没有光,就没有颜色。光是一种电磁波,人眼能看到的波段大概在380nm到780nm之间,我们管它叫可见光。
我在项目中遇到过一件事:某款IPC在黄昏时分拍出来的画面偏紫,怎么调白平衡都救不回来。后来一查,是红外补光灯的截止波长没处理好,把近红外波段漏进了可见光传感器。你看,不懂光谱,连问题都定位不了。
| 波段 | 波长范围 (nm) | 人眼感知颜色 |
|---|---|---|
| 紫 | 380 – 450 | 紫蓝色 |
| 蓝 | 450 – 495 | 蓝色 |
| 绿 | 495 – 570 | 绿色 |
| 黄 | 570 – 590 | 黄色 |
| 橙 | 590 – 620 | 橙色 |
| 红 | 620 – 780 | 红色 |
光源本身也有自己的光谱分布。日光、白炽灯、LED灯,它们的光谱曲线完全不同。你想想看,同一个物体在不同光源下,反射进人眼的光谱成分能一样吗?这就是色彩恒常性要解决的问题,也是白平衡存在的意义。
核心要点:颜色不是物体的固有属性,而是物体反射/透射的光谱与人眼视觉系统相互作用的结果。没有光源,就没有颜色。
1.2 人眼视觉特性:我们是怎么看到颜色的?
人眼视网膜上有两类感光细胞:视杆细胞和视锥细胞。视杆细胞管亮度,不参与颜色感知。视锥细胞分三种,分别对长波(L)、中波(M)、短波(S)敏感,对应红、绿、蓝三色。
我习惯把视锥细胞比作三个不同波段的滤波器。L锥对红光敏感,M锥对绿光敏感,S锥对蓝光敏感。大脑把这三个通道的信号一比较,就产生了颜色感知。
这里有个坑,我曾经踩过:人眼对亮度的敏感度远高于对颜色的敏感度。在安防监控的低照度场景下,人眼优先感知亮度信息,颜色信息会大幅衰减。所以夜视模式下强行做色彩还原,效果往往很差,不如直接切黑白。
避坑指南:我曾经在低照度场景下强行保留彩色,结果画面全是噪点,颜色也完全失真。后来我学乖了——照度低于某个阈值,直接放弃色彩还原,优先保证亮度和清晰度。
1.3 CIE色度系统:把颜色变成数学
颜色是主观的,但工程需要客观。1931年,CIE(国际照明委员会)搞了一套标准色度系统,把颜色用数学坐标表示出来。
核心思路很简单:用三个虚拟的基色X、Y、Z来匹配任何颜色。其中Y代表亮度,X和Z代表色度。然后通过归一化得到色度坐标(x, y):
x = X / (X + Y + Z)
y = Y / (X + Y + Z)
z = Z / (X + Y + Z) // 注意 z = 1 - x - y
这样,任何颜色都可以在CIE 1931色度图上用一个点来表示。色度图是个马蹄形区域,边界是单色光谱轨迹,内部是混合色。
我个人觉得,理解CIE色度图是做白平衡调优的必修课。因为白平衡的本质,就是把不同光源下的色度坐标,映射到标准光源下的色度坐标。
实用技巧:在调试白平衡算法时,我经常把图像中的灰点投影到CIE色度图上,看它们是否集中在标准光源附近。如果偏离太远,说明白平衡没调好。
1.4 色温概念:光源的颜色有多“冷”?
色温这个概念,很多人理解反了。色温越高,颜色越偏蓝(冷色调);色温越低,颜色越偏红(暖色调)。
为什么?因为色温是用黑体辐射来定义的。把一块理想黑体加热,温度不同,它发出的光颜色就不同。温度低时偏红,温度高时偏蓝。
| 光源类型 | 色温 (K) | 视觉感受 |
|---|---|---|
| 烛光 | ~1800 | 暖黄 |
| 白炽灯 | ~2800 | 暖白 |
| 日光 | ~5500 | 中性白 |
| 阴天 | ~6500 | 冷白 |
| 蓝天 | ~10000 | 偏蓝 |
在安防监控中,色温变化是白平衡算法要面对的主要挑战。室内灯光可能是3000K,室外日光可能是5500K,阴天可能是7000K。算法必须能自动适应这些变化。
嗯,这里要注意:色温和色调不是一回事。色温是光源本身的属性,色调是物体反射光给人的主观感受。别搞混了。
1.5 本章知识体系
下面这张图,是我自己梳理的色彩科学基础框架。你看一遍,应该能对本章内容有个整体把握。
这张图把本章四个核心模块串起来了。从光的物理本质出发,到人眼怎么感知颜色,再到CIE怎么用数学描述颜色,最后用色温来量化光源。每一步都是下一章白平衡算法的基础。
本章小结:色彩科学基础是白平衡调优的根基。理解光与色的物理本质、人眼视觉特性、CIE色度系统和色温概念,你才能从原理层面理解白平衡算法在做什么,而不是盲目调参数。