1. RAW图像基础:从传感器到数字底片

大家好,我是你们这门课的主讲。今天咱们聊聊RAW格式——这个在图像处理领域绕不开的话题。

说实话,我最早接触RAW时也觉得它挺神秘的。那时候刚入行,总觉得JPEG就够用了,干嘛非要搞个RAW?直到有一次在暗光环境下拍了一组测试图,JPEG的噪点惨不忍睹,而RAW经过后期处理居然还能看——嗯,从那天起我就再也没小看过它。

1.1 什么是RAW格式?

RAW,直译过来就是「原始」的意思。它记录的是相机传感器上每个像素点最原始的电压值,未经任何处理。

你想想看,相机拍照的过程其实是这样:

  1. 光线通过镜头打到传感器上
  2. 传感器上的每个感光单元把光信号转成电信号
  3. ADC(模数转换器)把模拟电压转成数字值
  4. 这些数字值被保存下来——这就是RAW数据

说白了,RAW就是传感器的「原始读数」。它没有白平衡、没有伽马校正、没有色彩插值,甚至连颜色都没有——就是一堆数字。

核心要点:RAW ≠ 图像。它是一组未处理的传感器数据,需要经过「去马赛克」、「白平衡」、「色彩校正」等一系列操作才能变成我们看到的彩色图像。

1.2 RAW vs JPEG vs TIFF:三者的本质区别

我经常被问到:「老师,RAW和JPEG到底差在哪?」

咱们直接上对比:

特性 RAW JPEG TIFF
位深 12-14 bit 8 bit 8/16 bit
色彩空间 传感器原生 sRGB/AdobeRGB 可自定义
压缩方式 无损/轻微有损 有损压缩 无损
处理程度 未处理 已处理 可处理/未处理
文件大小 大(20-50MB) 小(3-10MB) 极大(50-200MB)
后期空间 极大 极小 中等

我个人的经验是:

  • JPEG:相机内部帮你做了所有处理,包括降噪、锐化、色彩映射。好处是即拍即用,坏处是——一旦处理错了,后期基本拉不回来。
  • TIFF:可以保存16bit数据,但通常已经是处理过的。我一般用它做中间格式,比如在Photoshop里编辑完RAW后导出TIFF。
  • RAW:真正的「数字底片」。你可以后期重新调整白平衡、曝光补偿、降噪强度——而且是无损调整。

避坑指南:我曾经在项目里遇到过,有人用JPEG做高动态范围合成,结果暗部提亮后全是色块和噪点。换成RAW后,同样的场景能拉回3-4档曝光。所以,如果你要做严肃的图像处理,请务必用RAW。

1.3 RAW数据存储结构:Bayer Pattern

好,现在咱们深入一点——RAW数据到底长什么样?

大多数相机传感器用的是Bayer阵列。为什么叫Bayer?因为它是1976年柯达的Bayer博士发明的。这个设计其实很巧妙:

  • 每个像素只能感测一种颜色
  • 排列方式是:R、G、G、B(2x2的单元重复)
  • 绿色占一半,红蓝各占四分之一

为什么绿色多?因为人眼对绿色最敏感。这个设计模仿了人眼的视觉特性。

咱们来看一个典型的Bayer Pattern:

R  G  R  G  R  G
G  B  G  B  G  B
R  G  R  G  R  G
G  B  G  B  G  B

每个字母代表一个像素的感光颜色。注意,这里只有亮度值,没有颜色——颜色是由滤镜决定的。

我画了一张图,帮你理解整个流程:

RAW数据采集与存储流程 场景光线 Bayer彩色滤镜 (R/G/G/B排列) 光电传感器 ADC转换 RAW数据 (12/14bit 整数值) 文件存储 (.dng / .arw / .cr2) Bayer Pattern 数据示例(4x4像素) R G R G 每个像素只记录一种颜色的亮度值 绿色占50%,红色和蓝色各占25% 数值范围:0-4095(12bit)或 0-16383(14bit) 存储顺序:通常按行排列,无压缩

注意:RAW数据不是图像!它只是一堆整数。你直接用看图软件打开RAW文件,看到的其实是相机内部嵌入的JPEG预览图,而不是真正的RAW数据。真正的RAW数据需要专门的软件(如Adobe Camera Raw、LibRaw)才能解析。

1.4 常见RAW文件格式

市面上RAW格式多得让人眼花缭乱。每个相机厂商都有自己的「私房格式」:

格式 厂商 特点 我的评价
.dng Adobe(开放标准) 跨平台、开源、可包含原始传感器数据 我最推荐的格式,没有之一
.arw Sony 压缩效率高,支持无损压缩 索尼用户首选,但工具链稍封闭
.cr2 / .cr3 Canon 历史悠久,CR3是新一代格式 兼容性好,但文件偏大
.nef Nikon 支持多种压缩模式 尼康的看家本领,色彩科学不错
.raf Fujifilm X-Trans传感器专用 非Bayer排列,处理起来有点特殊
.orf Olympus 微单常用 中规中矩,没什么大毛病

我个人强烈建议:如果条件允许,尽量用DNG格式。为什么?

  • 它是开放标准,不依赖任何厂商
  • Adobe免费提供DNG Converter,可以批量转换
  • 很多开源库(如LibRaw、OpenCV)对DNG支持最好
  • 长期存档不用担心格式过时

小技巧:我在做算法验证时,习惯先把各种相机的RAW统一转成DNG。这样后续的代码只需要处理一种格式,省去了很多兼容性麻烦。你想想看,要是每种相机都写一套解析代码,那得累死。

1.5 小结

这一章咱们把RAW的基础打牢了:

  • RAW是传感器的原始数据,不是图像
  • 它比JPEG有更大的后期空间,但文件也更大
  • Bayer Pattern是主流传感器的排列方式,绿色占一半
  • 不同厂商有不同格式,DNG是开放标准

嗯,基础打好了,后面咱们才能深入去聊去马赛克、白平衡、降噪这些硬核算法。记住一句话:理解RAW,就是理解图像处理的起点


公众号:蓝海资料掘金营,微信deep3321