1. RAW图像基础:从传感器到数字底片
大家好,我是你们这门课的主讲。今天咱们聊聊RAW格式——这个在图像处理领域绕不开的话题。
说实话,我最早接触RAW时也觉得它挺神秘的。那时候刚入行,总觉得JPEG就够用了,干嘛非要搞个RAW?直到有一次在暗光环境下拍了一组测试图,JPEG的噪点惨不忍睹,而RAW经过后期处理居然还能看——嗯,从那天起我就再也没小看过它。
1.1 什么是RAW格式?
RAW,直译过来就是「原始」的意思。它记录的是相机传感器上每个像素点最原始的电压值,未经任何处理。
你想想看,相机拍照的过程其实是这样:
- 光线通过镜头打到传感器上
- 传感器上的每个感光单元把光信号转成电信号
- ADC(模数转换器)把模拟电压转成数字值
- 这些数字值被保存下来——这就是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数据不是图像!它只是一堆整数。你直接用看图软件打开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