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

相关推荐
白熊1883 小时前
【计算机视觉】基于Python的相机标定项目Camera-Calibration深度解析
python·数码相机·计算机视觉
投笔丶从戎3 小时前
Kotlin Multiplatform--03:项目实战
android·开发语言·kotlin
居然是阿宋3 小时前
Android Canvas API 详细说明与示例
android
wuli玉shell5 小时前
spark-Schema 定义字段强类型和弱类型
android·java·spark
吾门6 小时前
机器视觉开发教程——C#如何封装海康工业相机SDK调用OpenCV/YOLO/VisionPro/Halcon算法
图像处理·opencv·计算机视觉·c#·.net·.netcore·visual studio
Echo``6 小时前
4:点云处理—去噪、剪切、调平
c++·图像处理·人工智能·算法·机器学习·计算机视觉
东风西巷6 小时前
BLURRR剪辑软件免费版:创意剪辑,轻松上手,打造个性视频
android·智能手机·音视频·生活·软件需求
JhonKI6 小时前
【MySQL】行结构详解:InnoDb支持格式、如何存储、头信息区域、Null列表、变长字段以及与其他格式的对比
android·数据库·mysql
羽凌寒7 小时前
图像画质算法记录(前言)
图像处理
ab_dg_dp7 小时前
Android 位掩码操作(&和~和|的二进制运算)
android