3、调试环境搭建:DNP光源箱、色卡选择(Macbeth/ColorChecker)、拍摄规范与RAW图采集

做AWB调试,第一步不是调参数,而是把环境搭对。我见过太多工程师,算法调得天花乱坠,最后发现是光源箱没校准,色卡发黄了——白忙一场。今天咱们就把这块地基打牢。

3.1 光源箱:你的“标准太阳”

光源箱说白了,就是给你一个可控的、可重复的光照环境。没有它,你拍出来的RAW图根本没法横向对比。

核心要求:

  • 均匀性:整个色卡面的照度差异 < 5%。我习惯用照度计打9个点测一下,中间和四角差太多就得换灯管了。
  • 光谱连续性:别用那种廉价LED灯,光谱是断的,拍出来的颜色怎么调都不对。DNP光源箱用的是卤钨灯或高显指LED,显色指数Ra > 95。
  • 标准光源:至少要有D65(日光6500K)、D50(印刷标准5000K)、A光(白炽灯2850K)。有些项目还要TL84(商场荧光灯)和CWF(冷白荧光)。

我的经验:有一次客户投诉手机拍出来的衣服颜色偏绿。我排查了三天,最后发现是实验室的D65灯管用了两年没换,色温漂到了5500K。从那以后,我每半年用光谱仪标定一次光源箱,雷打不动。

3.2 色卡选择:Macbeth vs. ColorChecker

色卡就是AWB的“标尺”。你选错了尺子,量出来的数据就是错的。

主流色卡对比:

类型 色块数 适用场景 我的建议
Macbeth ColorChecker Classic 24 通用调试、灰阶标定 入门首选,性价比高
X-Rite ColorChecker Passport 24+4 户外/移动调试 便携,但精度略低
ColorChecker Digital SG 140 高端相机、电影机 色块多,但贵,一般项目用不上
DNP定制色卡 48~96 特定场景(如医疗、印刷) 需要和DNP签协议才能买

关键点:

  • 一定要用哑光色卡。亮光色卡会反光,拍出来的数据全是噪点。
  • 色卡用久了会褪色。我一般每两年换一套,或者用分光光度计测一下色块的Lab值,偏差超过ΔE 2就换。
  • 别买盗版色卡。便宜是便宜,但光谱反射率跟标准对不上,你调出来的AWB参数换一台手机就废了。

避坑指南:我曾经贪便宜买了一套“高仿”Macbeth色卡,结果在D65下拍出来的灰块,R/G值比标准高了0.03。就这0.03,让我多花了两个星期调参数。后来换了正版,一次过。

3.3 拍摄规范:让RAW图“说真话”

环境搭好了,色卡选对了,接下来就是拍。这一步看似简单,但80%的调试问题都出在这里。

拍摄流程:

  1. 预热:光源箱开机后至少稳定15分钟。灯管刚亮时色温会漂,等它稳定了再拍。
  2. 摆放色卡:色卡放在光源箱中央,与镜头光轴垂直。我习惯用水平仪校准,确保不歪。
  3. 填充画面:色卡占画面面积的60%~80%。太小了采样点不够,太大了边缘暗角影响数据。
  4. 对焦:手动对焦,确保色卡清晰。自动对焦可能会跑焦,尤其是低光下。
  5. 曝光:用灰阶卡的第19块(反射率18%)作为参考,调整曝光使该块的亮度值在RGB各通道的80%~90%之间(8bit数据就是200~230)。
  6. 保存RAW:一定要保存RAW格式。JPEG是经过ISP处理的,数据已经被“污染”了。

注意:千万别用手摸色卡表面。指纹里的油脂会改变色块的反射率。我都是戴无粉手套操作,拍完立刻放回防潮箱。

3.4 RAW图采集:从相机到电脑

拍完RAW图,怎么把它弄到电脑上?这里也有讲究。

采集工具:

  • 相机自带软件:如Canon的EOS Utility、Sony的Imaging Edge。稳定,但功能少。
  • 第三方工具:如Adobe Lightroom、Capture One。可以批量转DNG,但要注意别让软件自动做任何校正。
  • 命令行工具:如dcraw、libraw。适合批量处理,但需要写脚本。

我的工作流:

# 1. 用dcraw提取RAW数据,不做任何处理
dcraw -v -4 -D -T IMG_0001.CR2

# 2. 输出为16位TIFF,保留原始Bayer数据
dcraw -v -4 -D -T -o 0 -g 1 1 IMG_0001.CR2

# 3. 用Python读取TIFF,提取色块区域
import rawpy
import numpy as np

raw = rawpy.imread('IMG_0001.tiff')
rgb = raw.raw_image  # 获取原始Bayer数据
# 然后根据色卡坐标裁剪出色块区域

小技巧:我习惯在拍摄时同时拍一张“暗场”(盖上镜头盖拍一张全黑),用来做暗电流校正。尤其是长曝光或高ISO时,暗场能帮你去掉固定模式噪声。

3.5 知识体系总览

下面这张图,是我自己总结的调试环境搭建逻辑。你照着这个流程走,基本不会漏东西。

AWB调试环境搭建流程 硬件准备 光源箱(D65/D50/A光) → 色卡(Macbeth/ColorChecker) → 相机(手动模式) 环境标定 光源预热15min → 照度均匀性检测 → 色卡光谱标定(ΔE < 2) 拍摄规范 色卡占画面60%~80% → 手动对焦 → 18%灰块曝光校正 → 保存RAW 数据采集 dcraw提取Bayer数据 → Python裁剪色块 → 计算R/G/B增益

嗯,到这里,调试环境这块就差不多了。你可能会问:“我按这个流程走,是不是就能调出完美的AWB了?” 别急,环境只是第一步。下一节咱们会深入讲怎么从RAW图里提取色块数据,以及怎么计算白平衡增益。但今天先把环境搭好,地基不牢,地动山摇。

总结一句话:光源箱要准,色卡要正,拍摄要规范,RAW图要原始。这四个环节,一个都不能省。

专注资料整理