Log in

No account? Create an account

Previous Entry | Next Entry

An explanation of what colour channels are, and how to use the Channel Mixer to manipulate them. General theory, translatable to all programs that have the Channel Mixer tool.


So first, what exactly are channels, and why are we mixing them? Well, it has to do with the way that colour images are stored and displayed by computers.

To be stored by a computer, an image has to be converted into a binary sequence of ones and zeroes, or 'bits'. If you use a single bit to represent each pixel, the image can only have two different colours, '0' and '1'. Using two bits per pixel, you can have four: '00', '01', '10', and '11'. Every time you increase the number of bits per pixel, you double the possible colours, but you also increase the file size. Since the way computers are designed makes it convenient to store bits in groups of eight called bytes, a lot of image formats use 8-bit values.

With 8 bits, you have 28 possible values, or 256 shades. That's fine for greyscale images. The human eye can't pick out that many different levels of light and darkness. If you number different levels of grey starting at 0 (black) and going all the way up to 255 (white), the individual levels are so close that you can't tell where one ends and another begins:

Shades of grey

That means that a greyscale image stored in an 8-bit format will look perfectly smooth. But our eyes are much better at telling apart different colours. If you try to render a full-colour photograph using only 256 shades, you will be able to see where one colour ends and another begins. Parts that should look smooth will be grainy or have banding.

Black and white image of corgiGIF of corgi with banding effect
256 Greys256 Colours

So to get full photographic colour on-screen, we use a system of representing colours called the RGB model. In this system, each pixel has not one but three bytes of data associated with it: one to store the amount of red, one to store the amount of green, and one to store the amount of blue. If the red byte is set to 0, there's no red in that pixel; if it's set to 255, there's the maximum possible amount of red.

This system is convenient because it matches how computer monitors work, using red, green and blue lights to create the colours. But it has advantages for image-editing too. Since the colour data is already split up into three parts, you can make colour corrections that only affect one set of values at a time: just the reds, just the greens, or just the blues.

When you split the colour data up to work on one set at a time like this, the individual sets of values are called channels.

RGB image = Red channel + Green channel + Blue channel
RGBRed ChannelGreen ChannelBlue Channel

Here, the shade of grey on the channel image corresponds to the amount of that colour in that pixel. So in the red channel, the sky is quite dark, because there's not much red in it. In the blue channel, the sky looks very bright, because it has a lot of blue in it. We usually use greyscale to represent channels, rather than the appropriate shades of red/green/blue, because it's easier to see the levels of brightness at a glance. (It's hard to judge exactly what 'maximum possible red' looks like, but we can all recognise white.)


The channel mixer is a tool that allows you to take values from one channel and add them to or subtract them from another. It's a bit counter-intuitive to use because it works with colour brightness values rather than actual colours, so it's probably best illustrated by example.

One thing the channel mixer is useful for is correcting images with a strong colour tint like this:

Image with strong red tint

What's happened here is that the red channel has high values while the other two channels have low values, so red is the only colour that really shows.

Red ChannelGreen ChannelBlue Channel

This is a bit difficult to fix by working on individual colours separately. If you reduce the reds, you're left with no colour at all. But increasing the greens and blues won't help much either, because there's hardly any colour information there to amplify.

What we really need to do is share some of those high red values around. Enter the channel mixer. The mixer dialog gives you percentage sliders for each channel, like this:

Channel mixer

In the default state, each channel is made up of 100% of its own colour and none of the other colours. Makes sense, right? But now, we want to increase the greens and blues by adding some of those high red values in.

So, first you'd change the output channel to green and drag the red source slider to the right. That seems weird at first because your instinct is to assume it would make the image even more red, but the key is to remember you're not adding the colour red, you're adding brightness values from the red channel. More brightness added to the green channel = more green.

I ended up adding 33% of the red values to the green channel; there's already some green there, though not a lot, and generally human beings are more on the red side than the green side, so any more than that and it started to look like too much. This where that got me:

Image with corrected greens

Now we have a good amount of red and green, but still no blue, so the image ends up looking too yellow. Time to correct the blues in the same way; switch to the blue channel, and drag the red slider to the right. A slightly smaller correction this time, because people are even less blue than they are green, so I used 26%. And this is what the final fix looks like:

Image with strong red tint -> Corrected image

Not bad, huh? And that's not the channel mixer's only trick. You can also use it to convert images to black and white. Just check the 'Monochrome' box at the bottom of the dialog, and the output will be in black and white instead of colour. You can tweak the sliders to fine-tune how the greyscale image is created from the three channels. For example, if you take the channels from the corgi image above:

Red channelGreen channelBlue channel
Red ChannelGreen ChannelBlue Channel

...You can see that creating your greyscale image mostly from the red channel will give you a bright white dog on a dark background, while creating it from the blue channel will give you a dog with nice dark markings and a bright background. Just fiddle with the percentages taken from each channel to get the best looking effect.

...And that's really all there is to it!

Questions, comments, confusion? Just ask, and I'll do my best to explain.


( 13 comments — Leave a comment )
Jun. 3rd, 2010 10:10 pm (UTC)
Very nifty!! Thank you! Definitely going to mems :)
Jun. 4th, 2010 12:34 am (UTC)
Ahh! I've been looking for something like this lately and what do you know, here it is! Thanks so much!
Jun. 4th, 2010 12:55 am (UTC)
Holy buckets. I've tried any number of times to make the channel mixer work. I always end up frustrated and fall back on a combination of color fills & selective color to mimic the effects. Sort of. This is MUCH more satisfying to me as I get my crispest images when I rely on adjustment layers. This is still going to take me a while to get the hang of it but now I understand how it works, I'm excited. Thank you!

Mem-ing with gold stars.
Jun. 4th, 2010 01:27 am (UTC)

also, aw corgis!
Jun. 4th, 2010 02:40 pm (UTC)
ohmygod. You are my hero. This is GLORIOUS. Thankyouthankyou!
Jun. 4th, 2010 03:11 pm (UTC)
Wow ... you explained that really well! Thank you!
Jun. 4th, 2010 09:16 pm (UTC)
This is great, definitely useful, thanks a lot!

Meming. :)
Jun. 5th, 2010 03:07 am (UTC)
This is a lovely guide! Very easy to understand. Thanks for taking the time to make this. :D
Jun. 5th, 2010 05:38 am (UTC)
Thank you so much! I've always stayed away from Channel Mixer because I didn't really understand how it worked, but I'm anxious to go and try it out now. Adding to mems!
Jun. 5th, 2010 07:28 am (UTC)
Really nice! Thanks for sharing! :) Sometimes the channel mixer steps get a bit out of hand. Everything ends up peach and aqua, but this actually helps in color normalization. Yay! This is very helpful for me.
Jun. 7th, 2010 08:10 pm (UTC)
Thanks. You did a wonderful job explaining things. I never knew exactly how the channel mixer worked before this.
Jun. 18th, 2010 06:30 am (UTC)
I always wondered how the channel mixer worked. Thank you!
Jun. 30th, 2010 03:51 pm (UTC)
For the first time, I feel like I understand this tool. Thank you so much!
( 13 comments — Leave a comment )

Latest Month

July 2017


Powered by LiveJournal.com