跟着卷卷龙一起学 Camera--DNG 格式
最近做了一个 raw 图像转换为 DNG 图像的工具,搜索了网络上的一些资料,觉得还没有一篇文章把 DNG 这个格式说得非常清晰透彻。尤其是 Adobe 的 DNG specification,全篇都是文字,让人不容易得其要领,实际上画一张图,把一个具体的 DNG 文件格式画 出来,就会让人一目了然。
opcodelist 是 DNG1.3 版本以后的内容,在 DNG Spec 中的说明不够清楚,按照上图可以 澄清 opcodelist 的用法。 还有一点需要说明的是关于 DNG 的色彩重建问题: DNG 要进行 color space 的转换,把 camera color space 转换到 CIE_XYZ 色彩空间 上去。 从 sRGB 转换到 XYZ 如下转换矩阵 sRGB_to_XYZ = [ ... 0.412424 0.357579 0.180464 0.212656 0.715158 0.072186 0.019332 0.119193 0.950444]; DNG 需要两个光源白点,一个高色温比如 D65,一个低色温,比如 A,记作 wb1 wb2。 同时还需要在这两个光源下的 ccm,记作 ccm1,ccm2. 在 DNG Spec 上的转换公式如下 CCM1 = inv(sRGB_to_XYZccm1wb1); CCM2 = inv(sRGB_to_XYZccm2wb2); 如果使用了 shot_neutral 这个 tag,转换公式就应该是 CCM1 = inv(sRGB_to_XYZccm1); CCM2 = inv(sRGB_to_XYZ.ccm2); 白平衡 gain 不需要加到这个转换公式里。只需要把白平衡写到 shot_neutral 这个 tag 里,得到的色彩就是正确的。
利用新的图像格式,Adobe 相信它能够提高数码相片的质量与寿命,但它面临严重的挑战。
Adobe 正在大力推广它的“数字负片”(DNG)图片格式,希望取代目前高端数码相机中使用的各种格式。Adobe 认为,一种统一的格式将对行业及用户有益。
目前,Adobe 的挑战是创造用户需求,寻求产业同盟。到现在为止,仅有少部分数码相机支持数字负片格式,它尚未消除数码相机当中各种图片格式林立的局面,数字负片格式还不是一个中立的行业标准。
版权声明: 本文为 InfoQ 作者【卷卷龙】的原创文章。
原文链接:【http://xie.infoq.cn/article/61638db41d2cfe99a3926c4fa】。文章转载请联系作者。
评论