数字印花分色在试印花的时候,就可以实时地根据印花效果对阀值进行调整,最终取得最佳阀值和最佳印花效果。由于织物都是由各种纤维编织而成,其经向和纬向的属性会有所差异,如果不加以考虑,可能会在印出的图像中出现不期望的条纹。为了防止这种情况的出现,我们又引入了两个参数表征经向和纬向的这种差异,称之为经向系数x和纬向系数y,这样就可以通过调整这两个系数来适应经纬属性的不同。不同的输出设备会有不同的分辨率,其颜色的阶调值也会有差别。差一些的设备能表示的颜色少些,好一些的设备就多些。
考虑到CMYK颜色模型实际上是CMY颜色模型,黑色只是作为一种补充,因此在我们分色过程中先对青、品红、黄三种颜色进行处理,最后再从三种颜色中提出黑色。1)分色处理流程参数定义:n像素矩阵维数,用来决定输出图像的灰度级别,灰度级别=nn+1;x,y经向系数和纬向系数,表征织物经纬属性的不同;f阀值系数,与灰度级比一起确定分色的阀值;pace灰度级比,分色前后灰度级别的比值;error误差,分色前后像素颜色灰度的偏差;valve分色阀值,用来决定输出图像的着色点数。
输入参数:n像素矩阵维数:fc、fM、fY(0,1)三种颜色的阀值系数;x、y经向系数和纬向系数;输出结果:Cv、Mv、Yv、Kv青、品红、黄、黑四种颜色的着色点数目。分色处理的步骤:颜色模型的转换颜色模型的变换按照下面的公式进行:C=255-R;M=255-G;Y=255-B在暂不考虑黑色的情况下确定三种颜色着色点数目以青色为例,设其颜色灰度值为C,要确定该颜色的着色点数C0,按下述方法求解。
求取中间变量:误差分散某像素点在经过第二步处理后产生的误差为error=C-C0pace为了保证图像效果,需要对这一误差进行处理。具体做法是,把该误差按照一定的比例分散累加到周围的点上,使之在毗邻的点上得到补偿。
滤波算法图中表示待处理的像素点,该点经第二步处理后产生的误差值为error,按照中的比例系数进行误差分散:将误差error的8/42加到右边的第一个像点上,4/42加到右边的第二个像点上,2/42加到下一行的右边第二个像点上,依此类推,将误差分散累加到毗邻的12个相关点上进行补偿,这就是Stucki滤波算法的误差分配方案。另外,考虑到织物经纬属性的差异,我们对Stucki滤波算法的误差分散系数进行了修正,具体方法是将图中的系数与经向系数和纬向系数x、y相乘,把乘积作为最终的误差分散系数,这样做的结果,就可以使分色结果适应多种经纬属性不同的织物。用这种方法处理得到的图像,由于涉及了比较多的点,所以输出效果较好。
结语:按上述方法设计的软件,可以对图像进行多种灰度级别的分色处理,并对处理结果进行模拟。理论上,像素矩阵维数n越大,能够表示的颜色就越多,模拟效果也越好,但是实际印花时会使图像画面增大,分辨率下降,因此n的取值也不宜过大,一般取在3或4的时候,图像输出效果就已经很好了;另外,通过调整分色的阀值系数可以改变输出图像中四种颜色的比例,从而调整整个输出图像的色调。在实际分色时,需要根据不同的情况选择合适的参数,以达到最佳的效果。