1、RAW域基础:什么是RAW图像、RAW与JPEG的区别、RAW文件格式解析(Bayer阵列、CFA模式)、RAW数据的位深与动态范围

1.1 什么是RAW图像?

说白了,RAW图像就是相机传感器最原始的“底片”。

你按下快门那一刻,光线打到CMOS或CCD传感器上,每个像素点把光信号转成电信号,再量化成数字值——这就是RAW。它没经过任何加工,没有白平衡、没有降噪、没有锐化,甚至连颜色都没有完全确定。

我个人习惯把RAW比作“数字时代的胶片负片”。你拍完一张RAW,相当于手里攥着所有原始信息。后期你想调成冷色调还是暖色调,想拉回两档曝光,都还有余地。JPEG呢?那是相机帮你冲印好的照片,改起来就费劲了。

核心要点:RAW是传感器输出的原始数据,未经任何处理。它记录的是每个像素的线性光强值,而不是你最终看到的彩色图像。

1.2 RAW与JPEG的区别

我经常跟团队里的新人说:RAW是食材,JPEG是成品菜。

相机拍JPEG时,内部会做一套“标准流程”:去马赛克、白平衡、伽马校正、锐化、压缩……最后输出一个8位的、已经调好色的文件。这个过程不可逆,很多细节被永久丢弃了。

RAW就不一样。它保留了传感器能捕获的所有信息。举个例子,我曾在一次夜景项目中拍了一组RAW,回来发现有几张欠曝了将近3档。要是JPEG,基本就废了。但RAW硬是让我把暗部细节拉了回来,噪点控制得也还行。

下面这张表,我建议你存下来,面试或选格式时都用得上:

对比项 RAW JPEG
位深 12bit / 14bit / 16bit 8bit
色彩空间 相机原生(线性) sRGB / Adobe RGB(已伽马校正)
压缩 无损或有损(但保留原始数据) 有损压缩(丢弃高频细节)
后期空间 极大(可调曝光、白平衡、降噪) 极小(调整容易产生断层)
文件大小 大(单张20-50MB常见) 小(单张3-10MB)
适用场景 专业摄影、后期精修、算法开发 快速分享、社交网络、预览
我的经验:做图像增强算法时,千万别用JPEG做输入。JPEG的8bit量化已经把很多微弱的细节抹掉了,你再怎么增强,也补不回来。我见过不少拿JPEG做“超分辨率”,效果看着还行,但一换到RAW上,差距就出来了。

1.3 RAW文件格式解析

1.3.1 Bayer阵列与CFA模式

你可能会问:传感器明明只能感知光的强度,怎么拍出彩色照片的?

答案是:每个像素头上都戴着一片彩色滤光片。这就是CFA(Color Filter Array,彩色滤光片阵列)。最常见的模式是Bayer阵列,它用RGGB的排列方式——一个像素只记录红、绿、蓝中的一种颜色。

为什么绿色占两个?因为人眼对绿色最敏感。这个设计很巧妙,说白了就是“把有限的像素资源用在刀刃上”。

下面这张图,是我用SVG画的Bayer阵列结构,你看一眼就明白了:

Bayer阵列(RGGB模式)结构图 R G R G G B G B R G R G G B G B R(红色像素) G(绿色像素) B(蓝色像素) 每个像素只记录一种颜色,相邻像素通过插值(去马赛克) 得到完整的RGB三通道值。绿色像素数量是红/蓝的两倍。

你看,每个2x2的单元里,有1个红、2个绿、1个蓝。整个传感器就是这种模式不断重复。所以RAW图像本质上是一张单通道的马赛克图,每个位置只有一种颜色值。

1.3.2 其他CFA模式

除了Bayer,还有一些变体。我简单列一下:

  • X-Trans(富士):6x6的重复单元,排列更随机,能减少摩尔纹。我调过几台富士相机的RAW,去马赛克算法确实比Bayer复杂一些。
  • Quad Bayer(索尼、三星):2x2的同色像素合并,常用于高像素手机传感器。说白了就是四个R挨在一起,四个G挨在一起……这样可以在暗光下合并像素提升感光度。
  • RGBW:加入白色(W)像素,提升弱光灵敏度。代价是色彩分辨率会下降一点。
注意:不同CFA模式对应的去马赛克算法完全不同。你如果自己写ISP(图像信号处理)流程,第一步就得搞清楚传感器用的是哪种排列。我曾经接手过一个项目,前任把Bayer的RGGB当成GBRG来解,结果颜色全乱套了……排查了两天才找到原因。

1.4 RAW数据的位深与动态范围

位深,说白了就是每个像素用多少比特来存储它的亮度值。

常见的RAW位深有:

  • 12bit:0-4095,大多数消费级相机
  • 14bit:0-16383,中高端单反/微单
  • 16bit:0-65535,中画幅或科研级相机

你想想看,JPEG只有8bit(0-255)。这意味着RAW能记录的亮度层级是JPEG的16倍(12bit)甚至256倍(16bit)。

动态范围呢?它描述的是传感器能同时记录的最亮和最暗区域的比值。单位通常是EV(曝光值)或dB。

举个例子,一个动态范围14EV的传感器,意味着它能从纯黑到纯白之间区分出2^14=16384个亮度层级。高动态范围的好处是——你拍一张大光比场景(比如逆光人像),天空不过曝,人脸也不死黑。

我自己的经验是:位深决定了你能“拉”多少,动态范围决定了你能“留”多少。位深不够,拉曝光时会出现色阶断层;动态范围不够,高光或暗部的细节直接就没了,拉都拉不回来。

一句话总结:RAW的位深和动态范围,是后期处理的两条“命根子”。做图像增强算法时,输入RAW比输入JPEG多保留了至少10倍以上的有效信息。

嗯,这一章的基础概念就这些。你把这些吃透了,后面讲去马赛克、白平衡、降噪这些具体算法时,才能理解“为什么要在RAW域做”以及“RAW域到底给了我们什么好处”。