RGB 和 CMYK 相互转换原理

举报
wh_bn 发表于 2021/12/15 22:28:59 2021/12/15
【摘要】 作者:quester  来自:蓝色理想 Adobe 色彩系统 RGB 和 CMYK 相互转换原理 为了说明 adobe 的 RGB 转换 CMYK 的过程,不得不先涉及到一些色彩转换程序方面的东西。 ...

作者:quester  来自:蓝色理想

Adobe 色彩系统 RGB 和 CMYK 相互转换原理

为了说明 adobe 的 RGB 转换 CMYK 的过程,不得不先涉及到一些色彩转换程序方面的东西。

CMYK_ADOBE_COLORSPACE:
r = (k*c)/maxval;
g = (k*m)/maxval;
b = (k*y)/maxval;
以上是 adobe 的 CMYK 到 RGB转换公式,下面再来看看 RGB 如何 转换为 CMYK

下面的语句是经过改写的适用于 Flash 的 actionscript

// RGB to CMY 色彩转换
function rgbtocmy () { 
    mycyan = 255 - myred; 
    mymagenta = 255 - mygreen;
    myyellow = 255 - myblue;
    correctCMYK();
} 

// CMY to RGB 色彩转换 
function cmytorgb () {
    myred = 255 - mycyan;
    mygreen = 255 - mymagenta;
    myblue = 255 - myyellow;
    correctCMYK();
} 

// CMYK 色彩修正
function correctCMYK () {
    if (rep_v != "ERR") {
        var temp = Math.min(Math.min(mycyan, mymagenta), myyellow);
        if (temp != 0) {
            temp2 = Math.round((rep_v / 100) * temp);
            rep_k = Math.round((temp2 / 255) * 100);
            rep_c = Math.round(((mycyan - temp2) / 255) * 100);
            rep_m = Math.round(((mymagenta - temp2) / 255) * 100);
            rep_y = Math.round(((myyellow - temp2) / 255) * 100);
        } else {
            rep_c = Math.round((mycyan / 255) * 100);
            rep_m = Math.round((mymagenta / 255) * 100);
            rep_y = Math.round((myyellow / 255) * 100);
            rep_k = 0; 
        } 
    } 
} 
  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

我们知道, RGB 和 CMYK 并不能一一对应,这里面存在的问题是黑色部分的替换值的取值问题。

但是, RGB 所可以全部对应的,是CMY 格式,其最取值范围是0-255。从色轮上我们可以很容易的了解到这其中的补色计算关系。因此,CMY 和 RGB 的对换 可以说是“无损,可逆转”的。

当从RGB 得到相应的CMY 之后,我们若要得到 CMYK 值,就必须定义一个“黑色替换值”,也就是说提取各色通道中的若干成分来形成黑色通道。CMYK 的取值是 0-100。

这个“黑色替换值”的取值不同,得到的CMYK分量分布也就不同。也就是我们在photoshop里面可以选择 CMYK 的分色方案为 “UCR”或者“GCR”的不同。

“黑色替换值”越大,CMYK图像在印刷时的偏色几率就越小,但相应的状况是图片彩墨分量在暗黑部位显薄,不够饱和。这种分色方式适用于印刷材质较薄或较粗糙,印刷精度不高的场合。

附注:为什么直接去色和直接转换灰度比 Lab 的 L 通道得到的灰度层次显得差?

我们还是来用色彩转换公式说话来比较:
L = 0.3R+0.59G+0.11B
Gray = (R+G+B)/3

我们很容易就看出区别,平均取值的灰度和根据色彩明度增益比例混合的值是完全不同的。

文章来源: blog.csdn.net,作者:fengda2870,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/fengda2870/article/details/49025637

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。