一、引言
随着印刷行业从模拟到数字的变化,色彩的准确再现问题已经变得十分关键。我们需要使用色彩管理,以确保更好、更快、更准确地获得彩色图像。要做到图像处理等过程中的色彩统一性和与设备无关性,就必须实行标准化、规范化的色彩管理。
所谓色彩管理,就是解决图像在各色空间之间的转换问题,使图像的色彩在整个复制过程中失真最小。其基本思路是:首先选择一个与设备无关的参考色空间,然后对设备进行特征化,最后在各个设备的色空间和与设备无关的参考色空间之间建立关系,从而使数据文件在各个设备之间转换时有一个明确的关系可寻。虽然不可能让不同设备上的所有颜色完全相同,但可以使用颜色管理来确保大多数颜色相同或相似,从而达到在某种意义上一致的颜色复制效果。
二、色彩空间转换
色彩空间转换是指把一个色彩空间中的颜色数据转换或表示成另一个色彩空间中的相应数据,即用不同的色彩空间中的数据表示同一颜色。在本文中,是将与设备相关的RGB色彩空间转换到与设备无关的CIELab色彩空间。任何一个与设备有关的色彩空间都可以在CIELab色彩空间中测量、标定。如果不同的与设备相关颜色都能对应到CIELab色彩空间的同一点,那么,它们之间的转换就一定是准确的。
色彩空间转换的方法有很多种,本文主要介绍三维查表插值法和多项式回归法。
1.三维查表插值法
三维查找表法是目前研究色彩空间转换较为常用的算法。三维查找表算法的核心思想是,将源色彩空间进行分割,划分为一个个规则的立方体,每个立方体的八个顶点的数据是已知的,将所有源空间的已知点构成一张三维查找表。当给定源空间中任意一个点时,能够找到与之相邻的八个数据点构成一个小立方体格子的节点,通过这个小立方体的八个顶点进行插值,得到目标空间对应的数据。
一般查找表法都是与插值法结合起来使用,变成带有插值算法的三维查找表法,这种方法可分为三个步骤:
①分割:将源色彩空间按一定的采样间隔分区,建立三维查找表;
②查找:对于一个已知的输入点,搜索源空间,找出包含它的由八个栅格点构成的立方体;
③插值:在一个立方体的栅格内,计算出非栅格点上的颜色值。
根据源空间的不同分割方式,常见的插值算法有:三线性插值、三棱柱插值、金字塔插值和四面体插值方法。
2.多项式回归法
多项式回归算法是指假设色彩空间的联系可以通过一组联立的方程估算出来。多项式回归算法的唯一必要条件就是源空间的点数应该大于所选择的多项式的项数。此算法的重点在于计算出多项式的系数,再将源色彩空间的数据代入多项式,就可以根据方程求出转换后的结果。
多项式回归算法的特点是简单、实现起来较为方便,且有着不错的转换效果;但使用项数少时精度较低,当项数过大时计算量大、且精度也不一定高。
3.色差
在评价彩色复制质量和控制彩色复制过程时,例如在实施色彩管理和评价印刷品颜色时,往往需要计算颜色的色差来实现控制颜色的目的。目前印刷业普遍采用的是CIE 1976 Lab均匀颜色空间,及其对应的色差公式。[next]
三、实现过程
先简单介绍了本题目的操作平台,再详细说明了本题目中所使用数据的获取方法,以及实现颜色空间转换的详细步骤。
1.操作平台
本题目采用的操作系统为Microsoft windows XP,编程环境为Visual C++ 6.0,整个应用程序是基于MFC应用程序框架,还用到了OpenGL和OpenCV。
2.数据的获取
数据分为建模数据及测试数据两部分,建模数据用于计算多项式的系数,测试数据用于分析算法的精确程度,来自源空间和目标空间的建模数据和测试数据均在Adobe Photoshop中采集得到。
①建模数据的获取。本题目采用六级均匀分割来采集建模点,R、G、B分别依次取0,51,102,153,204,255。在PhotoShop的拾色器中依次输入R、G、B的各组值,并记下该组值对应的L、a、b的值,记录在文本中。共得到63=216组值。
②测试数据的获取本题目采用八级非均匀分割来采集测试点,R、G、B分别依次取0,36,72,108,144,180,216,255。采集方法同上,共得到83=512组值。
3.具体实现步骤
程序实现的具体步骤如下:
①先启动Visual C++ 6.0,在MFC中设置OpenCV的运行环境。
②读取建模数据。
③完成出多项式系数的计算:分别依据公式(3)、(4)、(5)得到、、。依次求出、、、,从而就得到了多项式的系数。
④读取测试数据。
⑤绘制对RGB模型进行八级分割后相应Lab模型的三维彩色视图。
⑥将由八级分割得到的每个点的RGB值带入由步骤③得到的三个多项式中,分别计算出每个点的L、a、b值(后面称此值为计算值),从而就通过多项式回归法将RGB颜色空间转换为Lab颜色空间。
⑦为了评判此颜色空间转换方法的优劣,就要通过计算色差来评判。对于每种颜色,将由步骤④得到的测量值与由步骤⑥得到的计算值求差得到、、,然后再依据公式⑥求出色差,画出色差分布直方图,并统计出在不同色差范围内的比例。
四、结果显示与分析
按上节具体步骤,采用VC++6.0编程实现了PhotoShop中RGB到Lab颜色空间的转换,本节主要将程序的运行结果显示并进行简要的分析。
五、总结
由此可见,使用多项式回归法来进行颜色空间转换还是比较准确的。可采用不同项数的多项式,对相同的源空间到相同的目标空间的转换结果进行比较;从而寻找出,在此源空间转换到目标空间过程中,采用多项式的最优项数。因此,对于此题目还需要进一步的研究。
[时间:2010-07-14 作者:古晶 来源:《广东印刷》]