: What is the difference between CMYK and RGB? Are there other color spaces I should know? I'm a photographer, who dabbles in graphic design from time to time as well. What are the differences
I'm a photographer, who dabbles in graphic design from time to time as well. What are the differences between the various color spaces?
More posts by @Shelley591
I feel compelled to expand the discussion to include * physics and * human perception. Apologies if I have missed something and this is superfluous. (Some of the links lead in these directions.)
There is a real-world colour space, which is, foundationally, electromagnetic radiation (think: light) of a particular wave-length. Only a portion of the range of these wavelengths (called (actual) "light") is visible to human beings. Other (lower and higher) wavelengths are called radio waves, infra-red, ultraviolet, x-rays, gamma rays... . (Anecdote: with incandescent light bulbs, less than half of the light-type energy they radiate is (or was originally) actually visible to human beings.)
A rainbow shows the colours in visible light. (It probably also shows more wavelengths, that are not visible.)
(Many animals see (perceive) a different range of "light" -- usually mostly overlapping the human range. (Anecdote: Some insects see (from memory) ultra-violet; some flowers look very different to insects.) )
Before we get bogged down... . Human perception averages the light it receives. If my eye receives some red light and some yellow light, I will perceive orange (being between red and yellow). If my eye receives many different wavelengths, I will perceive white (or off-white, if the collection is biased); conversely, there is no wavelength for white (light). If my eye receives blue light and red light (but no green), I will perceive magenta; conversely, there is no wavelength for magenta (light). (See below.)
Okay... . In the human eye, there are red receptors, green receptors and blue receptors. These are progressively less sensitive to light that is progressively further from their target wave-length. If my eye receives cyan light, this will activate the blue and the green receptors, but both not fully; my brain will process this and I will perceive cyan.
(There are also "grey" receptors, that are more sensitive, for low-light conditions.)
It is not coincidence that this (red, green and blue) is what TVs use to represent colours.
In fact, my eye can receive violet (beyond blue) light, and perceive this correctly (less Blue, but no Green), but the TV can not replicate this. Conversely, there are special TVs that therefore have a wide blue - violet - and a wide red - towards infra-red - instead. Similarly, it does not matter to have a TV with yellow lights (since it is all arbitrary to physics, and the eye just works it out).
(In the human eye, the (from memory) blue receptor is more sensitive under low-light conditions, which actually changes the perceived colours of some things at twilight.)
(Note that the wave-length we call "green" is not exactly between red and blue; it is closer to "blue". Somewhat independently... deeper inside, the eye/brain translates RGB into a four-element system with yellow and black, and (from memory/guessing) red and blue.)
Subtractive colour uses the colours that are the opposites ("complementary") of red (cyan), green (magenta) and blue (yellow). This works fine, like RGB, but is just as arbitrary to the physics.
Note that there are two types of printers. The A4 consumer models all place (C/M/Y/K) dots next to each other, as opposed to mixing them like mixing paint. Some specialised printers, including some consumer photo printers, actually mix the inks ("dye sublimation"). Dye sublimation is obviously a far superior (and significantly different) colour technology, but the consumer models counter with massively more dots.
If I understand correctly... what this means is that your A4 colour printer is not actually a subtractive colour space; actually, you see some yellow light and some cyan light, and your eye averages this and you perceive green; you see some magenta light and some yellow light, and your eye averages this (red + blue, + yellow = (non-ideal) red). If I understand correctly, the ideal would be for consumer printers to use RGB (viz RGBK) instead of CMYK, since they do not actually do the mixing paint part. (The difference is that, whereas a light ray that hits mixed paint "reflects" with more than one wavelength subtracted (wow! - a muddy brown!!)... one that hits a consumer printer page will reflect from only one colour (C/M/Y/K).)
The colour gamut (total produced colour range) of CMYK is (rather) less than that of an RGB TV, which is (slightly) smaller again than human vision. The latter (TV) is also somewhat skewed, the former (CMYK) more so. This is why you get a warning for some colours, if you are working in the RGB colour space; they can not be printed.
In addition to the systems above, there's the Pantone spot colour system - used to print colours and finishes which would otherwise be impossible with CMYK (bright turquoise, purples). Often, companies will have their heart set on a certain branding colour that just happens to be not approximated well enough by CMYK, this is when you tell them the price for spot colours and they run away with their legs wheeling like in cartoons.
This system works by having each colour printed individually using custom dyes and finishes with no mixing with others.
The difference between RGB and CMYK in simpler (and visual) terms :) Useful for beginners in starting to understand the difference without getting lost in the jargon. The infographic is long so i just linked it.
It is a misnomer, or at least confusing, to say both: "RGB is based on light and it's additive because you start with no light" and "CMYK is based on ink and it's subtractive because you start with no ink".
It is easy to understand how RGB works, as the usual displays create colors by adding the additive primaries, red, green and blue, together in appropriate proportions. But what is being added and in relation to what?
In the context of RGB and CMYK the terms additive and subtractive both describe how the color models relate to perceived light.
Let's start with RGB. Your display is off and it does not produce any light rays on its own. You perceive only black.
You turn the display on and get a (totally) blue screen. Ideally all the blue sub-pixels emit light at the same wavelength with the same intensity. Compared to blackness, you've added some light and now perceive a blue color.
Next up, your display turns all the red sub–pixels on as well. The sub–pixels are close enough to make you to perceive a mix of lightrays at "blue" wavelengths and at "red" wavelengths. The lights don't get mixed up per se, but rather the perceived pink color is a result of how our eyes work.
Adding up third additive primary, green, the viewer ideally perceives white.
What is different in CMYK is that you have a physical object—let's say a piece of paper—that you view under illumination. All the light that hits the paper gets neutrally reflected to the perceiver and all you see is the color of the paper mixed with the color of the illumination; both ideally neutral.
Now you add cyan ink—what happens? You do not add some color that emits "cyan", but rather the cyan ink absorbs, subtracts, other wavelengths and passes "cyan", which is in the end reflected back to the perceiver. You perceive cyan not because you've added cyan, but rather because you've subtracted all the rest.
Understanding this will help you understand why prints look different on different types of paper even if you have specified exactly the same CMYK values. Paper, ink and illumination all affect how the colors are perceived. If you wish to calibrate your display for soft–proofing, you must take all of these into account.
From a digital photographer's viewpoint, in the majority of the cases the camera captures light rays in a RGGB (or similar) matrix, which is then interpolated to a RGB image. If you wish to print a RGB image, the RGB data must be converted to a color model your printer understands, e.g. CMYK or CcMmYK. If your RGB image has a color space included, the printer's raster image processor can do this for you.
What's happening backstage is:
RGB image has a color space, e.g. sRGB
The RGB values are calculated, according to the color space, to LAB values
The printer has its own CMYK color space
The LAB values are calculated, according to the color space, to CMYK values
LAB is always used as a "glue" between different color spaces—even between color spaces under the same color model (sRGB, Adobe RGB, ProPhoto RGB, …) . It is designed to approximate human color vision; although some of its colors fall outside the human vision gamut. It is device independent and as such it is better to understand as more or less theoretical color model—not something you could print with.
On some occasions, LAB could be a useful tool for a graphic designer: if you want a color that has the same hue, but half the perceived lightness, you just halve the L-component of the LAB-value.
Note that this is different (and arguably better) than the brightness component in HSB (hue–saturation–brightness) representation. This is because LAB approximates human color vision and HSB just represents RGB with different coordinates. As human vision doesn't perceive changes in brightness in a linear fashion, neither is the L-component in LAB linear in relation to HSB brightness. 50% gray may be RGB(128,128,128) for computers, but for humans it is more RGB(119,119,119).
In practice, that doesn't mean we see only 119×2=238 shades of gray, but rather that if we could make a gradient from LAB(0,0,0) to LAB(100,0,0) and compare it to a gradient from RGB(0,0,0) to RGB(255,255,255), the RGB gradient would be perceived as a bit imbalanced.
Long story short:
RGB is for displays
CMYK is for prints
LAB is used in conversion or a tool
HSB is a great tool—although it is not a color model, just a different representation of RGB.
Your original question has been adequately answered, but since you're a photographer, it's important to recognize that there are different RGB color spaces.
The three you'll most often come across in photography are "ProPhoto RGB", "Adobe RGB" and "sRGB". They all measure color using the RGB model (amounts of Red, Green and Blue light), but differ in their gamut. I've listed them in descending order of gamut.
You can look up each of them on Wikipedia, but the short version is that gamut is the range of colors that a color space can represent. sRGB is the standard for web graphics, but can't represent as many colors as AdobeRGB can. Likewise, ProPhoto RGB can represent colors that don't exist in AdobeRGB.
As a photographer, you generally try to shoot in the widest gamut color space that's available to you, to preserve as much of the "real" color as possible. Then, you convert to the appropriate color space for on-screen display, web, or printing.
If shooting in JPG, set the Color Mode setting on your camera to the widest gamut color space you can get. If you're shooting in RAW, there's no color space applied until your software starts interpreting the RAW data, so you can put off selecting a color space until that point. One of the many advantages of RAW.
I'd also like to second what DarenW said about Lab space. CIELAB 1931 is the product of an intense study of human vision, and is actually the granddaddy of color spaces. It's against CIELAB that all others are judged. Graphs of the popular RGB spaces gamuts' are often overlaid on the CIELAB gamut to illustrate how well they compare.
That said, using the Lab color mode for color correction can take a while to get used to, since we're so ingrained with RGB, but it is EXTREMELY powerful. Most of this comes from the fact that it separates color from brightness, as our eyes do, and allows you to adjust them independently.
For a quick look at some of the practical things you can use it for, check out this video by photographer Dan Margulis: revision3.com/pixelperfect/labcolor
HSV (also called HSB) is based on the RGB system - it's actually just a transformation of the RGB color space (so it's still additive, and is intended for computer displays). The three components of this color system are:
H: Hue. This is the angle on the color wheel. Starting with red at 0 degrees.
S: Saturation. This is the ammout of 'color' in the color. So if the saturation for an image is at 0%, then the image is greyscale.
V: Value (or B brightness). This is the brightness of the color, If this is at 0% then you have black, no matter what the hue and saturation values are. With V at 100%, every colour is at it's brightest.
So full red would be RGB(255, 0, 0), which is the same as HSV(0, 100, 100).
Another interesting color space which I've only recenlty discovered is the Munsell color system, and it's been helpful when choosing colors. I'm quoting from Why Programmers suck at Picking Colors here:
"While this feels a lot like HSV on paper (where chroma can be used as saturation), this color system is different in many important ways:
the colors are ordered based on perceptual information (aka human subjectivity) and not some physical property of the reflected light
the resulting color space is asymmetric (reds have a lot more chroma than blues, for example)
the color space is discrete (making picking easier)"
This is more for UI designers than photographers, but there's quite a bit of info on this NASA research page.
LAB (aka CIELAB), space is quite useful. It's good for exaggerating color differences, relating colors to color opponent theory. I do a lot of image enhancement and digital art creation from photographs in CIELAB or spaces that resemble it. Its main advantages are separation of color from brightness and roughly evenly spread out color changes - two points some given distance apart anywhere in that space are about the same subjective color difference, not to great accuracy but certainly better than RGB, CMY or HSV.
Sites to peruse concerning CIELAB and other color spaces:
CMYK and RGB are the two colour spaces, methods of creating colour.
CMYK is subtractive, like paint/pigment. you start with nothing (white paper) and as you add more colours it eventually turns black. CMYK represents the standard coloured inks that printers use to create colours: cyan, magenta, yellow and black.
RGB is additive, the way light creates colours. You start with black (darkness) and as you add lights of more colours you eventually get white (all colours shining together like a regular lightbulb.. a blue lightbulb makes blue light because it filters out the green and red light.)
If you're working on computer monitors like on the internet, you will be using RGB because that is how monitors (and cameras and televisions) display colour. You don't have to worry at all about CMYK on the internet. But once you start printing things out, is when it matters. Most programs these days can convert between RGB and CMYK (although keep in mind whenever you see a cmyk image on your screen it's just an approximation because it is actually being displayed in rgb).
The main thing I've run into regarding rgb and cmyk is black. In cmyk you can make black by mixing cyan, magenta and yellow at their maximum strength, but you can make blacker black by also adding black ink at 100%. So be wary if you need to match two blacks, depending on your program they may appear the same.
Also keep in mind that not all colours can be reproduced in CMYK. This blew my mind when I first discovered it. But certain colours (generally very bright, bold colours like a very bright turquoise colour) can only be approximated in cmyk in a somewhat muted version. That's not to say the colour can never be printed, it's just very complicated, needing either paper treatments or additional colours of ink.
There's a few things you might run into in relation to colours, though, that I'll mentionAnother colour space you may run into is Indexed Colour. This is where each colour in the image is given a specific index to save space. This is technically separate from RGB/CMYK because it doesn't control how colours are formed, but rather how that information is stored on a computer. It does show up in the same lists sometimes.. And in photoshop you can't edit indexed colour documents without first converting them to rgb or cmyk, so keep that in mind!
You might also see HSB. This is Hue/Saturation/Brightness and is another way of objectively describing colours, and can be used to describe either rgb or cmyk colours. Hue describes the 'colour', around the rainbow from red to green to blue and back again. Saturation describes how colourful the colour is from grey (0 saturation) to as full and rich as possible (100). Brightness describes, well, the brightness; from black to somewhere in the middle to white.
RGB is an additive color space. If you mix the three base colors (red, green and blue) you get white. That is the model monitors use, if the red light and the green light and the blue light is mixed, it becomes white.
CMY (cyan, magenta and yellow) are suubtractive. If you mix all, you get black. That model is used by printers. If on a dot are printed all three base colors, it gets darker. But it is somewhat hard to mix a good black, thats why often Black is added to the color mix (thats the K in CMYK).
More information can be found in Wikipedia.
RGB is a additive, projected light color system. All colors begin with black "darkness", to which different color "lights" are added to produce visible colors. RGB "maxes" at white, which is the equivalent of having all "lights" on at full brightness (red, green, blue).
CMYK is a subtractive, reflected light color system. All colors start with white "paper", to which different color "inks" are added to absorb (subtract) light that is reflected. In theory, CMY are all you need to create black (applying all 3 colors at 100%). Alas, that usually results in a muddy, brownish black, so the addition of K (black) is added to the printing process. It also makes it easier to print black text (since you don't have to register 3 separate colors).
Most screens (computer, phone, media player, television, ect) are RGB (e-ink screens being an exception), the pixels have little subpixels that just show red, green or blue.
Most printers print in CMYK color (though some photo printers will print with expanded colors beyond those 4).
So if you're ever doing something for a screen, use RGB, if you doing something for print, use CMYK.
Update: Please keep in mind, that you can't display the exact same colors in RGB and CMYK.