颜色配置文件在图形程序中的作用

时间:2016-03-15 08:40:07

标签: image-processing graphics photoshop gimp color-profile

我想我明白了什么颜色配置文件。我不明白,在16bpp sRGB16bpp Adobe RGB的photoshop中操作照片有什么不同。我的显示器只能显示sRGB。

  • 算法有什么不同吗?
  • 也许在程序显示我的工作效果之前执行了一些预处理(例如AdobeRGB(0.3, 0.25, 0.82)在我的监视器中显示为sRGB(0.301, 0.253, 0.819))?
  • 当我不使用我的显示器/打印机的ICC配置文件时,使用不同颜色配置文件是否有任何意义?
  • 一般情况下 - 如果我想开发自己的支持不同于sRGB的配置文件的图形操作应用程序(例如在Qt中),我该怎么办?

3 个答案:

答案 0 :(得分:1)

图像使用的色彩空间决定了每个像素16位与显示器产生的输出之间的关系,即它确定数字实际代表的颜色。

如果某些算法应该能够产生逼真,自然或一致的结果,这会对处理某些算法的方式产生影响。

让我们说你在深红色背景上复合了一个半透明的黄色?你得到什么样的棕色?如果算法总是以相同的方式混合像素数据,那么即使显示器上的黄色和红色看起来相同,由于你的色彩空间,你得到的棕色可能会有所不同。

更正确的'混合的方法是将像素数据转换为一致的色彩空间,混合,然后转换回来。如果原始颜色在具有不同校准轮廓的两个监视器上看起来相同,那么它们将在一致的颜色空间中转换为相同的数字,并且混合结果将转换回在两个监视器上看起来相同的结果,即使像素值可能会有所不同。

具有半透明度的自然合成是一种很好的算法示例,必须考虑您的色彩空间才能产生逼真的效果。其他必须看起来很自然的效果,如镜面高光,阴影等,同样需要在一致的色彩空间中进行物理精确的数学运算。

回答您的具体问题:

  1. 是的,正如所解释的那样,许多算法应该使用不同的颜色空间执行不同的计算。

  2. 是的,有。图像的色彩空间定义了数据在物理光方面的含义。如果您使用ICC校准配置文件显示它,它将转换为您的显示器准确显示图像所需的数字。

  3. 除了某些显示软件不会将其考虑在内之外,用于图像的色彩空间应该差别不大。制作sRGB图像对于跨系统兼容性更好,但我认为Adobe RBG具有更大的色域,并且实际上可以代表sRGB无法实现的一些绿色。您应该使用打印机和显示器校准,以便您可以看到图像的真实外观。

  4. 我想我已经回答了上述问题。

答案 1 :(得分:0)

他们在算法上没有区别,因为你在RGB色彩空间而不是XYZ色彩空间中操作。像你这样的监视器显示颜色不同,一台显示器上的红色可能与另一台显示器上的红色主设备不完全匹配。为了以通用方式定义不同的RGB颜色空间,监视器使用CIE 1931 XYZ颜色空间。每个监视器或系统根据使用的配置文件计算RGB颜色为XYZ,例如:RGB (1,0,0) = XYZ (0.4358, 0.2224, 0.0139)中的sRGBXYZ (0.7977, 0.2880, 0.0000)中的ProPhotoRGB

有关详细信息,请参阅:

答案 2 :(得分:0)

通过类比

解释的色域映射

如果更改颜色空间,可能会丢失一些信息,因为从一个到另一个的映射可能不是单射的(可逆的)。您可以选择不同的渲染意图来选择仅抛出您认为最不有用的信息的映射。

这个比喻可能会说明当原始空间大于您的设备时,将图像转换为较小的色彩空间的后果:您可以很好地表示计算机中的3D对象,但您永远不会真正看到它,因为您的屏幕是平的,因此只能显示2D图像。你可以查看对象的投影,你可以通过对象查看剪切,但是你需要一台3D打印机才能从中获得真正的3D。

即使您没有3D打印机,也值得在3D中表示对象而不是固定的2D投影。否则,您将无法进行所有2D切割和投影,即使您将来购买3D打印机,也无法再打印该对象。

3D对象是较大空间中的图片,固定2D投影是较小空间中的图片,屏幕是具有较小色彩空间的设备,3D打印机是具有较大色彩空间的设备。类比结束。

ICC工作流程

如果拍照,相机应为其指定配置文件,描述相机的设备色彩空间。该配置文件定义了图片内部的数字(设备颜色空间中的坐标)与真实世界颜色(绝对颜色空间中的坐标)的映射。因此,如果没有个人资料,这些数字实际上没有任何意义,任何人都可以自由地制作他们喜欢的任何地图。

如果您拍摄RAW,则在开发照片时进行色彩空间转换;如果您拍摄JPEG,相机会为您执行此任务。

在相反方向,显示或打印时:如果显示设备未校准且没有配置文件,则图像中存储的真实颜色可能与实际设备中出现的颜色不匹配。图像颜色空间和输出设备空间之间的映射不能保证颜色将被保留并且有些随意。

实际答案

  1. 在sRGB和Adobe RGB中操作照片的不同之处在于Adobe RGB更大,因此可以保留更多信息以供进一步处理。

  2. 在另一个答案中,算法的差异已经是explained by Matt Timmermans。关于颜色混合,您可能想要了解有关感知统一颜色空间的更多信息(请参阅例如a closed Q & A on SO)。

  3. 是的,从Adobe RGB到sRGB的转换不是标识,因此需要进行一些处理。完成此处理的位置(设备驱动程序,操作系统内核,图像处理软件)取决于源和目标,操作系统及其设置。如果在Photoshop中转换空格,它会自行进行计算。 Windows有一个内置的颜色管理模块,负责将带有配置文件的图像转换为输出设备的设备颜色空间。

  4. 您想要显示/打印的图像可能存储在一些非常奇特的色彩空间中。如果操作系统猜测它是在sRGB(Windows会),它可能会给出奇怪的结果。最好向色彩管理系统提供尽可能多的信息。即使未经校准的设备也可能被分配了一些通用配置文件,但可能会发生一些猜测。也许,你有一天会对你的设备进行校准和表征,或者你会将图像发送给有这种设备的人。

  5. Qt itself does not support color management.但是KDE, which is built atop Qt, supports some color management来自Oyranos

      

    我们什么时候应该期待KDE的完整色彩管理?

         

    如果我们在谈论Qt中的色彩管理,而不是很快。如果我们谈论合成器(KWin)中实施的体面色彩管理,很快就会很快。它还取决于图形应用程序适应这些新的色彩管理事物的速度。

    您可以直接在应用程序中使用Oyranos或其他颜色管理系统。 Google也告诉我a thesis about getting color management to Qt

  6. 相关阅读