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图像处理合集总目录》

相关推荐
江上清风山间明月16 分钟前
flutter bottomSheet 控件详解
android·flutter·底部导航·bottomsheet
Crossoads2 小时前
【汇编语言】外中断(一)—— 外中断的魔法:PC机键盘如何触发计算机响应
android·开发语言·数据库·深度学习·机器学习·计算机外设·汇编语言
sunphp开发者3 小时前
黑客攻击网站,篡改首页问题排查修复
android·js
我又来搬代码了3 小时前
【Android Studio】创建新项目遇到的一些问题
android·ide·android studio
ggs_and_ddu7 小时前
Android--java实现手机亮度控制
android·java·智能手机
3DVisionary12 小时前
数字图像相关DIC技术用于机械臂自动化焊接全场变形测量
运维·数码相机·自动化·焊接变形实验·数字图像相关dic技术·自动化焊接全场变形测量·非接触高精度环境适应性全场测量
zhangphil13 小时前
Android绘图Path基于LinearGradient线性动画渐变,Kotlin(2)
android·kotlin
watl013 小时前
【Android】unzip aar删除冲突classes再zip
android·linux·运维
键盘上的蚂蚁-13 小时前
PHP爬虫类的并发与多线程处理技巧
android
喜欢猪猪14 小时前
Java技术专家视角解读:SQL优化与批处理在大数据处理中的应用及原理
android·python·adb