2. 光与颜色基础
在机器视觉系统里,照明不是“把场景照亮”这么简单。相机最终看到的是一幅灰度或彩色图像,而图像中每个像素的亮度,本质上取决于物体表面把多少光反射进了镜头。要理解照明如何决定图像对比度,需要先回到光的物理本质:光是电磁波,可见光只是电磁波谱中很窄的一段。
电磁波谱按波长从短到长排列,包括伽马射线、X射线、紫外、可见光、红外、微波和无线电波。人眼能感知的可见光大约在 380 nm 到 780 nm 之间。短波端接近 380 nm 是紫光,长波端接近 780 nm 是红光,中间依次过渡为蓝、青、绿、黄、橙。工业视觉中常用的光源波长往往落在这个区间,例如蓝光约 450 nm、绿光约 520 nm、红光约 630 nm,而近红外 850 nm 或 940 nm 虽然人眼几乎不可见,CMOS/CCD 传感器却仍然敏感,因此常被用于隐藏标记检测或减少可见光干扰。
颜色并不是光本身的绝对属性,而是“光源光谱 + 物体反射特性 + 传感器响应”三者共同作用的结果。同一块红色塑料,在白光下呈红色,在纯蓝光下可能几乎全黑,因为红色表面对蓝光的反射率很低。这正是机器视觉中“用颜色换对比度”的核心思路:选择与目标或背景反射特性匹配的波长,让目标与背景在图像中拉开灰度差。
色温:描述白光“偏黄还是偏蓝”
色温用开尔文(K)表示,描述的是白光的光谱倾向。低色温如 2700 K 偏黄偏暖,高色温如 6500 K 偏蓝偏冷。常见参考值:蜡烛约 1900 K,白炽灯约 2800 K,卤素灯约 3200 K,正午日光约 5500 K,阴天约 6500 K,蓝天约 10000 K 以上。色温只描述白光整体色调,并不直接说明它能否还原物体真实颜色,后者要看显色指数。
显色指数:白光还原颜色的能力
显色指数(CRI,Ra)衡量光源照射下物体颜色与标准光源(通常为日光)下颜色的一致程度,最高为 100。Ra 越接近 100,颜色还原越真实;Ra 偏低时,某些颜色会被“吃掉”或偏色。例如低压钠灯 Ra 很低,几乎只能看到黄黑两色;普通白光 LED 的 Ra 约 70~90,高显色 LED 可达 95 以上。对彩色相机做颜色检测时,光源显色性不足会直接导致颜色分类不稳定;而对只做灰度对比的单色应用,显色指数的重要性反而低于波长匹配。
反射与透射:对比度的真正来源
光照射到物体表面后,一部分被反射,一部分被吸收,一部分可能透射。反射又分为镜面反射和漫反射。镜面反射方向集中,容易在光滑金属、玻璃、塑料表面形成高亮光斑;漫反射方向分散,是大多数粗糙表面成像的主要来源。透射则常见于透明薄膜、玻璃、液体和背光检测场景。
图像对比度可以粗略理解为:目标区域与背景区域进入相机的光强差。若目标反射率为 Rt,背景反射率为 Rb,照明强度为 I,则两者亮度大致正比于 I·Rt 与 I·Rb。对比度可表示为 |I·Rt − I·Rb| / (I·Rt + I·Rb)。提高 I 并不能改变反射率之比,但选择合适的波长、入射角和光源类型,可以显著改变 Rt 与 Rb 的相对关系,从而提升对比度。
下面这张图把本节的关键关系串起来:光源发出特定光谱,经过物体表面的反射或透射后进入镜头,最终形成图像对比度。图中同时标出了可见光波段、色温与显色指数的作用位置,以及反射/透射两条主要路径。
从工程实践看,理解这组关系后,照明设计就不再是“随便加个灯”。面对一个低对比度场景,可以按以下顺序排查:先确认目标与背景在目标波长下的反射率差异是否足够;再检查光源波长是否与相机响应匹配;然后判断表面是镜面还是漫反射主导,决定用同轴光、环形光、条形光还是背光;最后才考虑亮度、角度和均匀性。色温和显色指数主要影响彩色成像的颜色稳定性,对单色灰度对比度的影响通常小于波长选择。
举个可操作的示例:检测透明塑料瓶内的液位。若用正面白光,瓶壁反光强、液面边界模糊;改用背光,让光从瓶后透射,液体与空气对光的折射和吸收不同,液位边界会形成明显暗线或亮线,对比度大幅提升。这里起决定作用的不是亮度,而是透射路径和介质折射率差异。再如检测金属表面的划痕,用低角度条形光斜射,划痕处产生散射而背景镜面反射进入镜头少,划痕会以亮线形式凸显;若用同轴光,镜面背景反而更亮,划痕对比度下降。
总结本节要点:可见光是 380–780 nm 的窄带电磁波;色温决定白光偏暖还是偏冷;显色指数决定白光还原颜色的能力;反射与透射决定有多少光进入相机。图像对比度的根源,是目标与背景在特定波长和特定几何条件下的反射/透射差异。照明设计的任务,就是通过选择波长、角度和光源类型,把这个差异放大到相机能够稳定分辨的程度。