主要内容

基于配置文件的颜色空间转换

如果两种颜色具有相同的CIE比色法,它们将匹配如果在相同的条件下查看。然而,由于彩色图像通常是为各种各样的观看环境而产生的,因此有必要超越CIE系统的简单应用。

因此,国际颜色协会(ICC)定义了一种颜色管理系统(CMS),它提供了一种在输入、输出和显示设备之间传递颜色信息的方法。CMS使用设备配置文件包含特定于特定设备的颜色信息。支持CMS的厂商提供了描述金宝app其设备颜色再现特征的配置文件和称为颜色管理模块(CMM)的方法,这些方法解释每个配置文件的内容并执行必要的图像处理。

设备配置文件包含颜色管理系统在设备之间转换颜色数据所需的信息。任何颜色空间之间的转换都是从某个定域空间到一个范围空间的数学转换。对于基于概要文件的转换,域空间通常称为源空间值域空间叫做目的地空间。在ICC颜色管理模型中,配置文件用于表示源空间和目标空间。

想了解更多关于色彩管理系统的信息,请访问国际色彩协会网站,http://www.color.org

读ICC档案

将ICC配置文件读取到工作区中,请使用iccread函数。在这个例子中,函数读取描述颜色监视器的颜色空间的配置文件。

P = iccread (“sRGB.icm”);

你可以使用iccfind函数查找系统上的ICC颜色配置文件,或查找其描述包含特定文本字符串的特定ICC颜色配置文件。要获取作为ICC概要文件默认系统存储库的目录的名称,请使用iccroot

iccread返回结构中概要文件的内容P。所有概要文件都包含一个头、一个标记表和一系列标记元素。头包含概要文件的一般信息,如设备类、设备颜色空间和文件大小。标记元素或标记是包含CMM使用的信息的数据构造。有关此结构内容的更多信息,请参见iccread函数引用页面。

使用iccread,您可以读取版本2 (ICC. 1:01 -04)或版本4 (ICC. 1:01 -12)的ICC配置文件格式。有关这些规范及其差异的详细信息,请访问国际商会网站,http://www.color.org

将ICC配置文件信息写入文件

若要将ICC配置文件信息从工作区导出到文件中,请使用iccwrite函数。这个示例将概要文件读入工作空间,然后将概要文件信息写入到一个新文件中。

P = iccread (“sRGB.icm”);P_new = iccwrite (P,“my_profile.icm”);

iccwrite返回它写入文件中的配置文件P_new因为它可以不同于输入配置文件P。例如,iccwrite更新文件名P以匹配作为第二个参数指定的文件名称。

当它创建输出文件时,iccwrite检查输入配置文件结构的有效性。如果缺少任何必需字段,iccwrite返回错误消息。有关将ICC配置文件数据写入文件的详细信息,请参见iccwrite函数引用页面。要确定结构是否是有效的ICC概要文件,请使用isicc函数。

使用iccwrite,您可以导出版本2 (ICC. 1:01 -04)或版本4 (ICC. 1:01 -12)的ICC配置文件格式的配置文件信息。的价值版本文件配置文件头中的字段决定了格式版本。有关这些规范及其差异的详细信息,请访问国际商会网站,http://www.color.org

转换RGB到CMYK使用ICC配置文件

这个例子展示了如何将颜色数据从监视器使用的RGB颜色空间转换为打印机使用的CMYK颜色空间。这种转换需要两个配置文件:一个监视器配置文件和一个打印机配置文件。本例中的源颜色空间是监视器RGB,目标颜色空间是打印机CMYK:

导入RGB颜色空间数据。这个例子将一个RGB彩色图像导入到工作空间中。

I_rgb = imread (“peppers.png”);

读ICC配置文件。将源和目标概要读取到工作区中。本例中使用sRGB配置文件作为源配置文件。sRGB配置文件是一种工业标准的颜色空间,用于描述颜色监视器。

inprof = iccread (“sRGB.icm”);

对于目标配置文件,示例使用描述特定颜色打印机的配置文件。打印机供应商提供此配置文件。(以下概要文件和其他一些有用的概要文件可以从www.adobe.com。)

outprof = iccread (“USSheetfedCoated.icc”);

创建一个颜色转换结构。您必须创建一个颜色转换结构来定义配置文件中颜色空间之间的转换。您使用makecform函数来创建结构,并指定转换类型字符串作为参数。这个例子创建了一个颜色转换结构,它定义了从RGB颜色数据到CMYK颜色数据的转换。颜色空间转换可能涉及到一个与设备无关的颜色空间的中间转换,称为配置文件连接空间(PCS),但这对用户是透明的。

C = makecform (“国际”、inprof outprof);

执行转换。您使用applycform函数执行转换,并指定要转换的颜色数据和定义转换的颜色转换结构作为参数。函数返回转换后的数据。

I_cmyk = applycform (I_rgb C);

将转换后的数据写入文件。要导出CMYK数据,请使用imwrite函数,指定格式为TIFF。如果格式是TIFF,数据是m × n × 4的数组,imwrite将CMYK数据写入文件。

imwrite (I_cmyk“pep_cmyk.tif”,气管无名动脉瘘管的' ')

要验证CMYK数据是否已写入文件,请使用imfinfo获取关于文件的信息并查看PhotometricInterpretation字段。

信息= imfinfo (“pep_cmyk.tif”);信息。PhotometricInterpretation
ans =“CMYK”

什么是基于配置文件的转换中的渲染意图?

对于大多数设备,可重复的颜色范围比PCS所代表的颜色范围要小得多。正是由于这个原因,在概要文件格式中定义了四种呈现意图(或色域映射技术)。每一个都有独特的审美和色彩准确性的权衡。

当您创建一个基于配置文件的颜色转换结构时,您可以为源和目标配置文件指定呈现意图。有关更多信息,请参见makecform参考信息。