DNG格式详解,DNG是什么?为何DNG可以取代RAW统一单反相机、苹果安卓移动端相机拍摄输出原始图像数据标准

返回图像处理总目录:《JavaCV图像处理合集总目录》

前言

在DNG格式发布之前,我们先了解一下之前单反相机、苹果和安卓移动端相机拍照输出未经处理的原始图像格式是什么?

RAW

什么是RAW?

RAW是未经处理、也未经压缩的格式。可以把RAW概念化为"原始图像编码数据"或更形象的称为"数字底片"。

RAW 是CMOS或者CCD图像感应器将捕捉到的光源信号转化为数字信号的原始数据。

也即RAW文件是一种记录了数码相机传感器的原始信息,同时记录了由相机拍摄所产生的一些元数据(Metadata,如ISO的设置、快门速度、光圈值、白平衡等)的文件。

sensor 的每一像素对应一个彩色滤光片,滤光片按Bayer pattern 分布。将每一个像素的数据直接输出,即RAW RGB data

Raw data(Raw RGB)经过彩色插值就变成RGB,如下图所示:

RAW数据是怎么产生的?

通过单反相机、苹果和安卓移动端摄像头,所拍摄的景物通过镜头,投射到传感器上生成光学图像,传感器将光学图像转换成了电信号,电信号再经过模数转换变为数字信号,存储数字信号的文件也就是RAW文件。

RAW与jpeg之类有什么不同?

RAW数据是直接存的未经处理的数字信号。

而jpeg之类的图片格式则是已经经过ISP修饰优化处理过后并且又经过有损压缩过后的数据。

为何要放弃RAW,DNG的由来

因为RAW数据标准不统一

RAW是未经过加工过的档案,原始图档仅是将传感器上所有参数都会记录下来,包括原始曝光、曝光、白平衡、色调、颜色、风格等等数据。

问题就在于每个相机和手机厂商都有自己的RAW格式进行私有化定制,所以导致并没有统一的规范和标准去定义RAW,每家相机和手机厂商都需要有专门的软件来查看和编辑自家的RAW格式。

DNG标准早在2015年就已经发布了,最新的DNG 1.7.0.0标准规范是Adobe 公司在2023年6月发布。

目前所有单反相机、苹果、华为、小米、一加等手机厂商都已经支持DNG格式输出拍照原始图像数据(DNG)。

DNG想要统一原始数据标准

数字负片 (DNG)

是一种公共存档格式,可用于存储由各种数字相机生成的原始数据文件。对于通过各种相机型号创建的原始数据文件,一直欠缺一种适用的开放标准,而数字负片解决了这一问题,可确保摄影师能够轻松地访问他们的文件。

除"数字负片规范"外,Adobe 还提供了免费的 Adobe DNG Converter。这里不提供下载软件地址,如果有兴趣可以自行到官网下载。

支持的相机尝试列表:https://helpx.adobe.com/cn/camera-raw/using/supported-cameras.html

由于DNG格式比较新,目前支持DNG格式的软件不多,基本只有Adobe自家的软件才能支持:Photoshop、Photoshop Elements、Lightroom 和 Lightroom Classic等。

FFmpeg目前还不能支持DNG格式,但是由于DNG与TIFF的特殊关系,可以通过将DNG改后缀为TIFF来用ffmpeg打开。因此对于开发者来说,暂时开发量有点大,因为规范推出的时间太短,开源库估计还要再等等才有。

TIFF, TIFF/EP, DNG, RAW之间的关系

TIFF和DNG同为Specification,分别定义了后缀名为.tif/.tiff和.dng的文件格式同时在TIFF Specification也定义个baseline及部分扩展的tag。

TIFF/EP则定义并规范了在电子影像中所使用的TAG。

DNG同时与TIFF和TIFF/EP兼容,并包含了EXIF和XMP信息。DNG实际上就是扩张的TIFF, 把DNG的扩展名改成TIF就可以直接预览图片。

DNG格式标准规范

下载地址:https://download.csdn.net/download/eguid_1/88335365

返回图像处理总目录:《JavaCV图像处理合集总目录》

相关推荐
liang_jy2 小时前
Android 窗口容器树(一)—— 窗口和窗口容器树
android·源码
HUGu RGIN2 小时前
MySQL--》如何在MySQL中打造高效优化索引
android·mysql·adb
Joseph Cooper5 小时前
Linux/Android 跟踪技术:ftrace、TRACE_EVENT、atrace、systrace 与 perfetto 入门
android·linux·运维
空中海5 小时前
安卓逆向03. 动态调试、抓包分析与 Frida Hook
android
一起搞IT吧6 小时前
相机Camera日志实例分析之二十:相机Camx【照片后置4800/5000/6400万拍照】单帧流程日志详解
android·嵌入式硬件·数码相机·智能手机
jinanwuhuaguo7 小时前
(第三十三篇)五月的文明奠基:OpenClaw 2026.5.2版本的文明级解读
android·java·开发语言·人工智能·github·拓扑学·openclaw
千码君20169 小时前
Trae:一些关于flutter和 go前后端开发构建的分享
android·flutter·gradle·android-studio·trae·vibe code
重生之我是Java开发战士12 小时前
【MySQL】事务 & 用户与权限管理
android·数据库·mysql
格林威14 小时前
3D相机视觉检测:环境光太强,结构光点云全是噪点怎么办?
开发语言·人工智能·数码相机·计算机视觉·3d·视觉检测·工业相机
怣疯knight14 小时前
Windows不安装 Android Studio如何打包安卓软件
android·windows·android studio