图像处理的高手请进!!!和PhotoShop有关的!!(100分)

  • 主题发起人 主题发起人 owen121
  • 开始时间 开始时间
O

owen121

Unregistered / Unconfirmed
GUEST, unregistred user!
[:)]我手上有一张CMYK标准的分色图,我把他扫到电脑里面存为TIFF格式,后来用PS打开,一比较,发现PS显示颜色的CMYK值和纸上有很大的差距,各位大侠有办法解决吗?尽量差距小一点。

另外我用卷起千堆雪的(RGB TO CMYK)的算法,
来自:卷起千堆雪tyn, 时间:2001-7-6 13:07:00, ID:583461
转换关系 :
c=255-r;
m=255-g;
y=255-b;
k=MinValue(c,m,y);
c'=c-k;
m'=m-k;
y'=y-k;
这里的c',m',y',k就是r,g,b的转换值。
算出来的CMYK值和PS的有很大差距。不知道为什么????有人知道RGB--LAB--CMYK的算法公式吗???救急!!!
 
Lab 我记得GraphEx控件里面有,因为要用他来打开Psd
 
你理解错了我的意思,我说的LAB是一种颜色空间,好多人都说RGB--CMYK会丢色,但用LAB做中间过度就回好很多,RGB--LAB我会,但是LAB--CMYK就不懂了。把RGB--LAB给你们看下!希望懂的人教教我!!!
RGB->XYZ
var_R = ( R / 255 ) //R = From 0 to 255
var_G = ( G / 255 ) //G = From 0 to 255
var_B = ( B / 255 ) //B = From 0 to 255
if ( var_R > 0.04045 ) var_R = ( ( var_R + 0.055 ) / 1.055 ) ^ 2.4
else var_R = var_R / 12.92
if ( var_G > 0.04045 ) var_G = ( ( var_G + 0.055 ) / 1.055 ) ^ 2.4
else var_G = var_G / 12.92
if ( var_B > 0.04045 ) var_B = ( ( var_B + 0.055 ) / 1.055 ) ^ 2.4
else var_B = var_B / 12.92
var_R = var_R * 100
var_G = var_G * 100
var_B = var_B * 100
//Observer. = 2°, Illuminant = D65
X = var_R * 0.4124 + var_G * 0.3576 + var_B * 0.1805
Y = var_R * 0.2126 + var_G * 0.7152 + var_B * 0.0722
Z = var_R * 0.0193 + var_G * 0.1192 + var_B * 0.9505
-------------------------------------------------------------
XYZ->CIE Lab
var_X = X / 95.047 //Observer = 2°, Illuminant = D65
var_Y = Y / 100.000
var_Z = Z / 108.883
if ( var_X > 0.008856 ) var_X = var_X ^ ( 1/3 )
else var_X = ( 7.787 * var_X ) + ( 16 / 116 )
if ( var_Y > 0.008856 ) var_Y = var_Y ^ ( 1/3 )
else var_Y = ( 7.787 * var_Y ) + ( 16 / 116 )
if ( var_Z > 0.008856 ) var_Z = var_Z ^ ( 1/3 )
else var_Z = ( 7.787 * var_Z ) + ( 16 / 116 )
CIE-L* = ( 116 * var_Y ) - 16
CIE-a* = 500 * ( var_X - var_Y )
CIE-b* = 200 * ( var_Y - var_Z )
____________________________________________
XYZ->hunter Lab
(H)L = 10 * sqrt( Y )
(H)a = 17.5 * ( ( ( 1.02 * X ) - Y ) / sqrt( Y ) )
(H)b = 7 * ( ( Y - ( 0.847 * Z ) ) / sqrt( Y ) )
 
CIELAB和CIEXYZ为设备无关颜色空间,
而RGB(加混色)和CMYK(减混色)则是设备相关颜色空间,
如果要准确显示CIELAB或CIEXYZ,需要通过颜色仿真模型(LUT、GOG、PLCC等等)转换到RGB或CMYK;若要求不高,则可根据确定系数的转换矩阵计算。
颜色空间的转换关系如下:RGB(CMYK)<->CIEXY<->CIELAB
 
你说的颜色仿真模型(LUT、GOG、PLCC等等)是什么??哪里能找到他们的资料?确定系数的转换矩阵计算的方法是什么?能说详细一点吗???CIELAB->CIEXY->CMYK的公式是什么???
 
LUT, lookup table查找表
GOG,Gain-Offset-Gamma,
PLCC,Piecewise Linear interpolation assuming Constant Chromaticity coordiantes
打印机和扫描机都需要用分光光度计进行标定,否则肯定存在较大误差
参考文献:
1. Tony Johnson, methods for characterizing printers, Display, 1996, 16(4): 193~202
2. Roy Berns, M J Shyu, colorimetric characterization of a desktop drum scanner using a spectral model,Journal of Electronic Imaging, 1995,4(4): 360~372
 
非常感谢你的帮助!你有这两本书的电子版吗?能发到我的邮箱里面吗(owen121@eyou.com)?另外CIELAB->CIEXY->CMYK的公式能说一下吗?如果书里没有对颜色仿真模型和确定系数的转换矩阵计算解释的很清楚,麻烦你解释一下!再次谢谢了!
看来你对印刷的知识知道的很多吗?能留个联系方式,以后这方面有不懂的就麻烦你教教我了,[:)]
 
我只做过CRT显示器的仿真,打印机和扫描仪都没做过,
我师兄的博士课题就是颜色管理系统,他对这方面比较了解
明天我找几篇文献发到你信箱
 
关注,我也想得到这方面的资料,方便的话也请发到我的信箱一份:fadey@sohu.com谢谢
 
那非常感谢了。我找这方面的资料好久了。好难找啊![:)]
 
vair,感谢你给我找到的资料,不好意思又麻烦你了,资料里面的东西蛮复杂的(不愧是博士课题用的),我想问你,我用鼠标取了一点颜色,算出了它的RGB值,可是用卷起千堆雪tyn的公式算出对应的CMYK值和PHOTOSHOP算出的差好大,我看一些资料里说PHOTOSHOP是由RGB--LAB--CMYK,因为LAB空间是不受设备影响的。所以我想知道CIELAB->CIEXY->CMYK的公式。或者你有PHOTOSHOP的RGB--CMYK的公式也行,反正值不要和PHOTO差太大就可以了。麻烦你想想办法。谢谢了!
 
由于RGB(CMYK)为设备相关颜色空间,Photoshop中的转换公式应该是由Adobe公式定义的,如果按照一般书上来做肯定不行,CIELAB与CIEXYZ之间的转换公式是固定的,但CIEXYZ与CMYK之间无法精确转换,最简单的就只能用查找表,这可以在任何颜色空间之间进行转换,可以用一些数据(如具有一定间隔分布的点),利用Photoshop确定CIELAB和CMYK之间的关系,中间数据可以通过插值得到,建立CIELAB与CMYK之间的3维查找表。
 
owen121, 你碰到的问题我也正在遇到,头都大了,能不能麻烦有了结果以后给我一个答案呢??还有 CMYK TO RGB的算法你有吗???
 
vair,巨汗!用查找表的方法是简单,但255的3次方是不是太大了,查询起来会慢吗?改起来太麻烦。我想过让用户定义K的值和算法公式,然后算出CMYK的值。可是发现PS的算法K和CMY的关系好象不是线性的。真是郁闷死了。。
edoxs:
来自:卷起千堆雪tyn, 时间:2001-12-25 12:09:00, ID:810576
这位朋友是否要用来对图象进行四色分色啊?^_^

// R, G, B, C, M, Y each IN [0.0 .. 1.0]
PROCEDURE CMYtoRGB(CONST C,M,Y: TReal; VAR R,G,B: TReal);
BEGIN
R := 1.0 - C;
G := 1.0 - M;
B := 1.0 - Y
END {CMYtoRGB};

// R, G, B, C, M, Y each IN [0.0 .. 1.0]
PROCEDURE RGBtoCMY(CONST R,G,B: TReal; VAR C,M,Y: TReal);
BEGIN
C := 1.0 - R;
M := 1.0 - G;
Y := 1.0 - B
END {RGBtoCMY};

// == CMYK / RGB ======================================================
// R, G, B, C, M, Y, K each IN [0.0 .. 1.0]
PROCEDURE CMYKtoRGB(CONST C,M,Y,K: TReal; VAR R,G,B: TReal);
BEGIN
R := 1.0 - (C + K);
G := 1.0 - (M + K);
B := 1.0 - (Y + K)
END {CMYtoRGB};

// R, G, B, C, M, Y each IN [0.0 .. 1.0]
PROCEDURE RGBToCMYK(CONST R,G,B: TReal; VAR C,M,Y,K: TReal);
BEGIN
RGBtoCMY(R,G,B, C,M,Y);
K := MinValue([C, M, Y]);
C := C - K;
M := M - K;
Y := Y - K
END {RGBtoCMYK};
其中的1.0表示100%--CMY占255的比值。
但是问题就在算法上我查过在CMYK空间下打开RGB的图象,结果很差,好象被光栅话了一样,太无语了。。。郁闷中。。。希望高手多多指教。
 
我在此请教几位图像处理高手,我想修改一张JPG图像的分辨率怎么去做?
 
好贴,顶一下
 
凌霄图像批处理专家是一款图片批处理工具,它集批量图片格式转换、批量图片修改处理、批量重命名、批量调整尺寸、批量晒图导出、创建EXE文件、创建PDF文件于一体的图片批处理系统。凌霄图像批处理专家提供将近30种图片修改处理脚本命令(如调整亮度等)供您任意组合使用!她还可以让您轻松的将任意多的图像(图片)文件生成一个EXE或PDF文件,并提供多达150种的显示效果,方便您欣赏自己的图片,并轻易实现与家人、朋友分享!她支持多达11种(BMP, JPG,PNG, EXIF, GIF, WMF,ICO, TGA, PCX,TIFF, PPM )的基本图片格式输出。如果加上与他们等价的格式,则支持的打开图片类型超过30种。而且所有这些功能,您都可以在Windows资源管理器中通过右键菜单轻松使用。
下载地址:www.flyingspace.com
 
麻烦灌水和做广告的就不要发言了!!- -!!!
 
谢谢,解决了!
 

Similar threads

后退
顶部