一文讲解DNG、TIFF、PSD等区别和用法

2024-09-03 11:58

本文主要是介绍一文讲解DNG、TIFF、PSD等区别和用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在我们的电脑中,图片可以储存为很多格式,摄影师常见的包括nef、tiff、dng、psd、jpg等等。

这些文件格式有什么区别,又应该在哪些情况下使用呢?本文托马斯会做一个总结。

1. 原厂Raw格式

原厂Raw文件,直接记录了相机芯片上的数字信号,因此也被称为"数字底片"。

Raw文件保留了相机拍摄的所有信息,使用了芯片上原始的色彩空间,因此画质极高,后期空间极大,摄影师在拍摄时,基本都会选用Raw格式来保存。

但是Raw文件也有不好的地方,就是兼容性差。大部分Raw文件,都不能被主流电脑软件直接读取。

只有各大相机厂家自己的图片软件,或者Adobe Camera Raw这样的处理程序,才能打开原厂Raw格式文件。而且每当新出了相机,老版本的图片处理软件都需要进行更新,否则是打不开新相机的Raw文件的。

值得一提的是,Photoshop软件并不能直接读取Raw文件,首先需要PS或Lightroom内置的Camera Raw程序,对Raw文件进行解读转换后,才能进行编辑。

而各大厂商的Raw文件,其后缀也有所不同,常见的有:

.ARW:主流索尼相机Raw文件后缀

.NEF:主流尼康相机Raw文件后缀

.CR2: 主流佳能相机Raw文件后缀

.DNG:主流大疆无人机、华为手机Raw文件后缀

2. 通用Raw格式:DNG

前面提到过,各大厂家都有自己的Raw格式,兼容性很差,长此以往很难维护。

因此Adobe公司开发出了DNG(Digital Negative)格式,用于无损、通用的储存Raw文件。

如果经常用Camera Raw或Lightroom做HDR合并、全景接片的朋友可能会发现,软件把原厂Raw文件进行合成后,生成的合并数字底片,都是dng的后缀。

DNG最大的优势就是通用,不光Adobe的软件可以打开,windows、apple、android系统的内置浏览软件,以及很多电脑、手机上的第三方软件,都可以预览这种格式。

甚至很多相机、无人机、手机厂商,机内直出的就是DNG格式文件。

在上图所示的Windows系统中,dng格式的Raw文件可以直接看到预览。而索尼原厂的arw后缀raw文件则无法显示。因此dng格式的原片,更方便进行管理和维护。

与此同时,DNG格式会对文件进行一些无损压缩,因此体积更小,有时甚至不到原厂Raw文件的50%。

因为DNG的无损性、通用性和更小体积,因此有的摄影师会在导入照片时,统一把原厂格式如NEF等,转换为DNG后缀的Raw格式,以便更好的储存和管理。

当然对于大部分摄影师和爱好者而言,并不需要多此一举,保留原厂Raw文件已经足够。

还有一个值得一提的区别,就是原厂Raw文件是无法修改的。如果你在Camera Raw中对原厂Raw文件进行了修改,这些修改并不是储存在了Raw文件中,而是生成了一个.xmp的新文件,来保存这些更改。而Lightroom,则用catalog(目录)来保存这些更改。

DNG文件则不然,如果我们对DNG文件进行了修改,这些修改可以直接写入DNG文件本身,并不需要新生成文件。而且这些写入是无损的,随时可以一键复原成原始状态。

3. 编辑文件:PSD 与 TIFF

PSD是Photoshop Document的缩写,简而言之,就是Photoshop原生的文件储存格式,用于保存Photoshop修改后的文件。

PSD文件可以储存修改后的照片信息,甚至图层、alpha通道、蒙版等非常具体的调整步骤。如果一张照片在处理后,我们以后可能要再次对它需要修改,我们都可以以PSD的形式储存起来。

PSD有一个小的缺点,就是文件大小不能超过2GB。

对于图层、通道很多的后期精修,文件经常会超过2GB,此时我们可以使用PSB(大型Photoshop文件)的格式来进行储存。

PSD文件还有一个缺点,就是只有Adobe公司的相关软件,才能直接打开和编辑。

如果我们要用一些第三方软件对照片进一步编辑,比如用PTGUI来全景接片,用Helicon Focus来景深合成,用Startrails来合成星轨。

这些第三方图片编辑软件,无法直接打开PSD格式和Raw格式文件。如果保存成JPG,再用软件打开,则画质损失太大。此时TIFF格式就派上用场了。

标签图像文件格式(Tagged Image File Format,简写为TIFF)是一种灵活通用的图像格式。

这种格式可以支持RGB、CMYK等多种色彩模式,adobeRGB、proPhoto RGB等多种色彩空间,8位、16位、32位等各种色彩深度,甚至也能保留图层和alpha通道。更重要的是,大部分的第三方软件、打印机,都能支持TIFF格式。

TIFF格式支持LZW无损压缩和ZIP无损压缩,可以极大的压缩其大小,一般来说压缩后大小与PSD差不多甚至更小。

因此很多摄影师,也喜欢用TIFF,而不是PSD来保存编辑的图片文件。

从托马斯个人角度而言,保存成TIFF和PSD几乎没有大的差别。

如果几乎不用其他图片编辑软件,那么保存成PSD/PSB文件最方便。如果经常用其他修图软件编辑,则推荐使用TIFF格式来储存编辑后的文件。

4. 输出文件:TIFF与JPG

上面提到了,TIFF文件不仅被各大修图软件支持,还被印刷工业广泛支持。

因此如果是要进行高品质打印输出,或者在专业显示器上进行欣赏,一般我们都会把文件输出为 16位 adobeRGB 的TIFF格式。

对于输出打印的TIFF,我们在保存时可以勾上“扔掉图层并储存拷贝”的选项。这样可以大大缩小文件的大小,常常从几个GB降到百来MB。

其实对于大部分摄影爱好者而言,我们都很少再次对PSD或者TIFF文件反复修改,因此在最终储存和备份时,我们都可以使用扔掉图层的TIFF格式。

虽然TIFF格式在图像工业、印刷工业中被广泛支持。但对于分享照片而言,主流的操作系统、浏览器以及网站,还是不支持TIFF格式的。

因此如果要把照片发给别人,或者在网上分享,最佳的格式仍然是JPEG。

JPEG是一种有损压缩格式,只支持8位的色彩深度,一般大小只有几MB甚至几百KB。不过JPEG的画质,对于网络分享已经足够了。

因此一般修完的照片,我都会保存一份原始尺寸的TIFF文件,用于欣赏、打印和继续修改;保存一份压缩尺寸(如长边1600像素)的JPEG文件,用于网络分享。

5. 总结

总而言之,各大文件格式的用法,可以总结如下:

相机拍摄记录:原厂Raw格式

照片原片备份、储存:原厂Raw格式或DNG格式

照片编辑后储存:PSD/PSB或TIFF格式

打印输出:TIFF格式

网络分享:JPG格式

这篇关于一文讲解DNG、TIFF、PSD等区别和用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132905

相关文章

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

一文解析C#中的StringSplitOptions枚举

《一文解析C#中的StringSplitOptions枚举》StringSplitOptions是C#中的一个枚举类型,用于控制string.Split()方法分割字符串时的行为,核心作用是处理分割后... 目录C#的StringSplitOptions枚举1.StringSplitOptions枚举的常用

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

MySQL中VARCHAR和TEXT的区别小结

《MySQL中VARCHAR和TEXT的区别小结》MySQL中VARCHAR和TEXT用于存储字符串,VARCHAR可变长度存储在行内,适合短文本;TEXT存储在溢出页,适合大文本,下面就来具体的了解... 目录一、VARCHAR 和 TEXT 基本介绍1. VARCHAR2. TEXT二、VARCHAR

Java8 Collectors.toMap() 的两种用法

《Java8Collectors.toMap()的两种用法》Collectors.toMap():JDK8中提供,用于将Stream流转换为Map,本文给大家介绍Java8Collector... 目录一、简单介绍用法1:根据某一属性,对对象的实例或属性做映射用法2:根据某一属性,对对象集合进行去重二、Du

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

Python中的sort方法、sorted函数与lambda表达式及用法详解

《Python中的sort方法、sorted函数与lambda表达式及用法详解》文章对比了Python中list.sort()与sorted()函数的区别,指出sort()原地排序返回None,sor... 目录1. sort()方法1.1 sort()方法1.2 基本语法和参数A. reverse参数B.

vue监听属性watch的用法及使用场景详解

《vue监听属性watch的用法及使用场景详解》watch是vue中常用的监听器,它主要用于侦听数据的变化,在数据发生变化的时候执行一些操作,:本文主要介绍vue监听属性watch的用法及使用场景... 目录1. 监听属性 watch2. 常规用法3. 监听对象和route变化4. 使用场景附Watch 的

Java Instrumentation从概念到基本用法详解

《JavaInstrumentation从概念到基本用法详解》JavaInstrumentation是java.lang.instrument包提供的API,允许开发者在类被JVM加载时对其进行修改... 目录一、什么是 Java Instrumentation主要用途二、核心概念1. Java Agent

Java 中 Optional 的用法及最佳实践

《Java中Optional的用法及最佳实践》在Java开发中,空指针异常(NullPointerException)是开发者最常遇到的问题之一,本篇文章将详细讲解Optional的用法、常用方... 目录前言1. 什么是 Optional?主要特性:2. Optional 的基本用法2.1 创建 Opti