Take the 2-minute tour ×
Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It's 100% free, no registration required.

I am familiar with additive (RGB), substractive (CMYK), and HSV-like colorspaces, but an article I'm currently trying to understand operates on YCbCr color space for image segmentation / object definition.

I've spend most of my morning looking for something that would explain the YCbCr naturally, but I just don't get it. I got a nice, intuitive explanation of the general idea behind this color space here, and explanation of how it's used for image coding/compression from these guys (all on photo.SE).

The formulas for calculating YCbCr from RGB is readily accessible on wikipedia.

I got the motivation for this representation, I got that Y component contains the most important (to the human eye) grey-scale information about the image.

I got that Cb and Cr carry information about the colors, and that (because of human eye (in)sensibility), they can be compressed without a visible lost in quality. But, what does each of the chrominance components actually represent?

As the article authors mention that "chrominance information is paramount in the definition of objects" in their approach, and I can not fully understand what I'm reading with my current "Y is intensity, Cb and Cr carry color information somehow" level of understanding YCbCr.

I'm seeking for an answer along the lines "Cb is..., while Cr is..." or "if you imagine looking through/with XY, you're actually looking at Cb component...", or some other way that would help me understand information carried by each of the components separately, not just that they, together, carry color information.

EDIT

Let me give examples of intuitive explanations for other color spaces of the type I'm looking for:

RGB: Like shining a colored flashlight on a black wall: If you shine with a blue flashlight, you see a blue reflection. If you add a red flashlight, it will show a magenta reflection, which is a mixture of blue and red.

CMYK: Like mixing watercolors, you "add to the colors the surface reflects", (i.e. subtracts color from the background) so if you mix a yellow one with a cyan one, if will reflect green and thus you will get a green color.

HSV: Little kids are attracted to highly saturated objects, not bright (value). The Hue component is what "gives the color", while low saturation means the color is "diluted" by white. Change in value makes the whole thing brighter or darker.

With this definitions, I've been able to get an intuitive feeling about what a color representation in each color space means, without memorizing charts for each of them.

share|improve this question
add comment

3 Answers 3

up vote 3 down vote accepted

$YUV$ (or $YCbCr$) is like $HSV$, but in different coordinates. (The difference between $YUV$ and $YCbCr$ is marginal - mostly related to exact formulas).

The $V$ component is the same. $(S,H)$ can be thought of as polar coordinates, and $U,V$ as cartesian. $H$ is the angle, $S$ is the radius. A rough conversion would be:

$ U = S *cos(H) $

$ V = S * sin(H) $

You can see this link for more information.

Another thing to add to your intuition list:

Saturation is how pure the color is from spectral point of view. For example, a laser has a very narrow spectrum, which implies high saturation.

share|improve this answer
    
can you add the explanation of the difference between YUV and YCbCr, for the sake of completeness? –  penelope Oct 31 '12 at 0:03
add comment

Not sure what you mean by "actually" represent, as neither RGB nor YUV represent either photon frequency or the typical human eyes rod/cone responses. But you can see what they look like to you by synthesizing some YCrCb color patches, such as (1,1,0), (1,-1,0), (1,0,1), (1,0,-1), etc.

Here's a Wikipedia page which includes a chart:

http://en.wikipedia.org/wiki/File:YCbCr-CbCr_Scaled_Y50.png

ADDED: RGB, and such, were almost designed (or evolved) to match a possible human intuitive understanding of perception (and color names turn out to be culturally learned). YUV is the opposite, designed such that noise in the UV area (added to a noisy NTSC subband) would be hard to see and thus be harder to describe. YCrCb is a variation on the same color mapping. So don't look for an existing "intuitive" insight, which may not exist. Perhaps create your own by "learning" the chart and building some brand new neural connections that may not currently exist in your brain (or something like that.)

share|improve this answer
    
I added examples for other color spaces of the type I would like to get for YCbCr. Hope this makes the type of explanation I'm seeking fore clearer. –  penelope Oct 30 '12 at 19:50
add comment

When you understand HSV/HSB it should not be hard to understand YCbCr. The B channel in HSB corresponds with the chroma (chroma = saturation http://vident.com/products/shade-management/color-theory/understanding-color-overview/hue-value-and-chroma/ ). You could take rgb image and convert it to grayscale or you could convert every channel of the RGB to grayscale and they merge them into one channel. For simplification, let's have pixel with 100% red, 100% green and 70% blue. You will calculate average ... (100+100+70) / 3 and you get value 90% , which means 90% of brightness. So in grayscale it is very light gray color. Now, if we would like to express the original colors towards the grayscale channel we would need 3 formulas for every color (red, green, blue). You would calculate difference of value R vs grayscale, G vs grayscale and B vs grayscale. This would need 4 channels (RGB + chroma). But we can do the same with 3 channels. We can do small correction to the green channel. Let's calculate difference to green channel. Original green is 100%, new value of green converted to gray is 90%. Difference is -10%. So let's change R and B channels of this pixel by this difference. We just did gamma correction or all channels. Green channel values will be same as for grayscale image. So we do not calculate with green channel anymore. Green is "encoded" in the Y ... chroma channel. The rest of colors (R,B), is also adjusted. R` = 90% of original or 100% of Y because R and B are equal in this example. The B compound has difference +20% towards original, but after it was changed with gamma correction it has difference +30% towards Y. To simplify it yet more, it is like formula where you need to make addition for all three compounds. The differences which you get for red and blue are Cb and Cr. The characters just say that you compared Blue channel to chroma Channel and Red channel to Chromma channel. Hence Cb and Cr.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.