Talk:CMYK color model

Wiki Education Foundation-supported course assignment
This article is or was the subject of a Wiki Education Foundation-supported course assignment. Further details are available on the course page. Peer reviewers: Williamsrs.

Above undated message substituted from Template:Dashboard.wikiedu.org assignment by PrimeBOT (talk) 16:30, 16 January 2022 (UTC)

Old discussion
Adopted orphan redirects for searching: CMYK colour model

Can you convert the following RGB coordinates to CMYK??

Color   RGB         CMYK Gray    128 128 128 Black   0   0   0 White   255 255 255 Red     255 0   128 Orange  255 83  0 Yellow  255 255 0 Lime    83  255 0 Green   0   255 128 Sea blue 0  172 255 Blue    0   0   255 Purple  172 0   255

66.32.71.96 02:21, 2 Apr 2004 (UTC)

Note: (or note to self :-P ) we need an RGB -> CMYK conversion formula, like on HSV color space, that'd be handy. Kim Bruning 12:38, 3 Apr 2004 (UTC)

Okay, let's snarf some formulas off of : http://www.easyrgb.com/math.php?MATH=M12#text12

(mathematics isn't copyrightable AFAIK, and I'll be rewriting anyway :-) ) and then rewrite them to 1 form:

// RGB -> CMY //RGB values = From 0 to 255 // CMY values = from 0 to 255 C = 255 - R M = 255 - G Y = 255 - B //CMY values = From 0 to 255 // and CMY-> CMYK var_K = 1 if ( C < var_K )  var_K = C if ( M < var_K )   var_K = M if ( Y < var_K )   var_K = Y C = ( C - var_K ) / ( 1 - var_K ) M = ( M - var_K ) / ( 1 - var_K ) Y = ( Y - var_K ) / ( 1 - var_K ) K = var_K

Okay, so we'd better write that out tidily :-)

so let's see

$$ \begin{matrix} C_{CMY, float} = 255 - R \\ M_{CMY, float} = 255 - G \\ Y_{CMY, float} = 255 - B \end{matrix} $$

$$ var_K=\left\{\begin{matrix} C_{CMY, float}, & \mbox{if } C_{CMY, float} < var_K \\ M_{CMY,float}, & \mbox{if } M_{CMY, float} < var_K \\ Y_{CMY,float}, & \mbox{if } Y_{CMY, float} < var_K \end{matrix} \right. $$

$$ \begin{matrix} C_{CMYK, float} = ( C_{CMY, float} - var_K ) / ( 1 - var_K ) \\ M_{CMYK, float} = ( M_{CMY, float} - var_K ) / ( 1 - var_K ) \\ Y_{CMYK, float} = ( Y_{CMY, float} - var_K ) / ( 1 - var_K ) \\ K_{CMYK, float} = var_K \end{matrix} $$

finally:

for: $$C,M,Y,K \in ( \mathbb{Z}, [0,255] )$$

we can simply do: $$ \begin{matrix} C = 255 \cdot C_{CMYK, float} \\ M = 255 \cdot M_{CMYK, float} \\ Y = 255 \cdot Y_{CMYK, float} \\ K = 255 \cdot K_{CMYK, float} \end{matrix} $$

Okay, as a sucky biologist, my math sucks. Can a real mathematician look this over before adding it to the main article? Else I'll add it in a week or so. Note that I really don't like the float inbetween step, and it's not really nescesary :-)

Kim Bruning 13:21, 3 Apr 2004 (UTC)

Oh heck, let's be bold and add it, some mathematician will just come along and simplify the float step I'm sure :-) Kim Bruning 13:27, 3 Apr 2004 (UTC)

Ugh, I think I made some slight errors converting from algorithm to formula. Um I'll leave as is for now, some mathematician can pick up the pieces :-/ Sorry! Kim Bruning 13:32, 3 Apr 2004 (UTC)


 * Here's rewriting this so it's a little neater. This is going off that site before:
 * Converting CMYK -> RGB = CMYK -> CMY -> RGB
 * tCMYK &isin; [0,1]4 is the CMYK quadruple, tCMY &isin; [0,1]3 is the CMY triple, and tRGB &isin; [0, 255]3 is the RGB triple. Then:
 * $$ \begin{matrix}

t_{CMYK} = (c, m, y, k), \mathrm{then}\\ t_{CMY} = (c', m', y') = (c (1-k)+k, m (1-k)+k, y (1-k)+k )\ \mathrm{and}\\ t_{RGB} = (r, g, b) = (255(1 - c'), 255(1-m'), 255(1-y'))\\ \end{matrix}$$
 * Converting RGB -> CMY, with the same color vectors as before
 * $$ \begin{matrix}

t_{RGB} = (r, g, b)\\ t_{CMY} = (c', m', y') = (1-r/255, 1-g/255, 1-b/255)\\ t_{CMYK} = (c, m, y, k) = (c-\mathrm{min}(c, m, y), m-\mathrm{min}(c, m, y), y-\mathrm{min}(c, m, y), \mathrm{min}(c, m, y))\\ \end{matrix}$$
 * Dysprosia 14:05, 3 Apr 2004 (UTC)

Thanks, looks tidier at least! On computers, CYMK is usually represented in 32 bits (4 bytes: C, M, Y, K), so each C, M, Y, K value is an integer from 0 to 255, and not a floating point value from 0 to 1 as was stated on the referenced webpage. Cutting out the floating point values would improve the formula further. (something to sort out in my copious free time :-) Kim Bruning 14:26, 3 Apr 2004 (UTC)
 * Can you put the coordinates in the above table that already shows RGB?? 66.32.123.29 15:36, 3 Apr 2004 (UTC)
 * Instead of giving you a fish, we gave you a fishing rod. :-) Calculate the cmyk values using the formulas, or the webpage or what have you, and multiply by 255 (and round off) to get the compuer representation. Kim Bruning 16:00, 3 Apr 2004 (UTC)
 * What do fish and fishing rods have to do with RGB and CMYK?? Is this just an expression?? What does it mean?? Does Wikipedia have an article for expressions like this??66.32.113.34 16:55, 3 Apr 2004 (UTC)
 * "give a man to fish, and he will eat for a day, teach a man to fish, and he will eat for the rest of his life". The idea is that we just explained how you can figure out cmyk values for yourself, into perpetuity :-) Unfortunately the formula given by dysprosia gives values from 0 to 1, and we want to scale that to 0-255. (so just multiply by 255, easy enough). Well I'll do some examples to see if the formula is actually correct...

some tests
$$ \begin{matrix} (128, 128, 128)_{RGB} = (0, 0, 0, 0.5)_{CMYK} = (0,0,0,128)_{CMYK, scaled to bytes}\\ (255, 0, 0)_{RGB} = (0, 1, 1, 0)_{CMYK} = (0,255,255,0)_{CMYK, scaled to bytes}\\ (255, 255, 0)_{RGB} = (0, 0, 1, 0)_{CMYK} = (0,0,255,0)_{CMYK, scaled to bytes} \end{matrix} $$

Wow! This formula is really easy to use too! :-) I'm sure there's a way to skip the float phase, but this is nice :-)
 * But 255 0 0 was not among the colors in the above table. 66.245.99.11 18:20, 3 Apr 2004 (UTC)
 * But I'm not going to calculate your table for you, I was figuring some edge cases to see if the formula actually works. Kim Bruning 18:33, 3 Apr 2004 (UTC)

Hmm, note I was doing mental arithmetic, so values are rounded off. Kim Bruning 21:48, 3 Apr 2004 (UTC)

okay, one example for 66.32.123.29, though really wikipedia isn't for this. Note that your value for red is really weird?

We're using "red, green blue" so:

$$ \begin{matrix} red = (255, 0, 0)_{RGB}\\ green = (0, 255, 0)_{RGB}\\ blue = (0, 0, 255)_{RGB} \end{matrix} $$

tell you what, let's find blue in CMYK


 * disprosia said:

$$ \begin{matrix} t_{RGB} = (r, g, b)\\ t_{CMY} = (c', m', y') = (255-r, 255-g, 255-b)\\ t_{CMYK} = (c, m, y, k) = (c-\mathrm{min}(c, m, y), m-\mathrm{min}(c, m, y), y-\mathrm{min}(c, m, y), \mathrm{min}(c, m, y))\\ \end{matrix}$$


 * Okay, well, $$ blue = (0, 0, 255)_{RGB} $$

so we do:

$$ t_{RGB} = (0, 0, 255) $$ $$t_{CMY} = (c', m', y') = (1-0/255, 1-0/255, 1-255/255)$$ $$t_{CMY} = (c', m', y') = (1, 1, 0) $$ $$t_{CMYK} = (c, m, y, k) = (c-\mathrm{min}(1, 1, 0), m-\mathrm{min}(1, 1, 0), y-\mathrm{min}(1, 1, 0), \mathrm{min}(1, 1, 0))$$


 * Well ... $$ \mathrm{min}(1, 1, 0)=0 $$, so:

$$t_{CMYK} = (c, m, y, k) = (1-0, 1-0, 0-0, 0)$$ $$t_{CMYK} = (c, m, y, k) = (1, 1, 0, 0) $$

$$ t_{CMYK, scaled}=255 \cdot t_{CMYK}$$
 * scaling:

$$ t_{CMYK, scaled}=(255,255,0,0)$$
 * So in the end we get:

Which I happen to know is the right value for blue. :-)

Easily understood
Doesn't anyone think this page should be made more simpler so people can understand or add more explanations to the algorithm-ishs given in the end? My thought since I still do not understand how. -- WB 02:30, Mar 18, 2005 (UTC)


 * I think the algorithms given should be removed, as they are of little practical use. They do not reflect the real-world conversions actually needed, and by putting them into a Wikipedia article, it adds to the confusion and errors which can produce very expensive printing mistakes. Views? Notinasnaid 09:34, 11 Apr 2005 (UTC)


 * It is less productive to remove inaccurate algorithms altogether as opposed to improving the algorithms in the first place. Dysprosia 12:19, 11 Apr 2005 (UTC)


 * The crucial point is that there is no algorithm. There is no single conversion from RGB to CMYK, so - much as people yearn for there to be a simple algorithm - it is doing a disservice to put one there. Notinasnaid 16:31, 11 Apr 2005 (UTC)


 * I have tried to put some background in the new article absolute color space. Neither RGB nor CMYK are, by themselves, absolute, so there is no single conversion between them. Notinasnaid 20:27, 11 Apr 2005 (UTC)

It seems to me that the lack of reversibility in RGB to CMYK to RGB conversions isn't an issue which should prevent presentation of an algorithm. Such an algorithm is a necessity in many applications; for example, rendering an RGB-based image into CMYK inks on paper. CoyneT 00:54, 12 Apr 2005 (UTC)


 * To my mind, that's exactly the reason to not have it, because, frankly, it's rubbish. People have written software using this algorithm, and the results of the conversion don't really satisfy anyone, because the colors are different. Notinasnaid 07:43, 12 Apr 2005 (UTC)


 * The discretionary note added is sufficient enough. Those who want to make use of such an algorithm are warned for its use, and those who need something professional will be warned of the consequences for using the algorithm. Dysprosia 08:00, 12 Apr 2005 (UTC)


 * That makes sense. If I ever manage to find a way to express how it should be done, I'll add that too. (It won't be an algorithm). Notinasnaid 08:28, 12 Apr 2005 (UTC)

K: Key or blacK
I added a "citation needed" for the abbreviation. I see a slow edit war on this. There are opinions about what K stands for, and opinions have no place in Wikipedia. Where there is controversy, what is needed is a reference. And it needs to be a good one, not just some other web site based on someone else's opinions. Ideally, a link to an academic article that mentions both opinions, and goes back to the early literature. Until we have a reference, please do not remove the citation needed flag just because you believe you know what it stands for!! — Preceding unsigned comment added by 86.128.65.46 (talk) 09:42, 13 November 2019 (UTC)


 * As far as I can tell it can just as easily stand for "key" or "black"; since the key plate is black in CMYK printing, it works just as well either way. I do not know which usage is older, but now both seems to be usable. --Zzo38 (talk) 22:53, 26 December 2019 (UTC)

Merge CMY color model to CMYK color model
I propose merging CMY color model to CMYK color model. The two concepts are almost entirely parallel, and the only differences between them are best covered in a section that directly contrasts the two. In fact, there is NO information in CMY that doesn't already exist in CMYK. The CMY redirected to CMYK until 2019 when a 1 month old account un-redirected it (then appeared to have some edit wars in other color model articles). Curran919 (talk) 20:06, 13 November 2022 (UTC)
 * A little less obvious would be possibly merging three other highly similar concepts into CMYK color model, though they may be better suited to merge to color printing (and put a section in color printing about usage of KEY (black)):
 * Under color removal
 * Grey component replacement
 * Under color addition
 * Curran919 (talk) 20:26, 13 November 2022 (UTC)
 * DON'T DO IT Askofep (talk) 18:06, 14 December 2022 (UTC)
 * This seems like a fine idea. –jacobolus (t) 23:39, 13 November 2022 (UTC)