4 - Intensity Transformations

Resources

Full tutorial (in Acrobat pdf format):

Tutorial_04.pdf

C# project (zip file):

Tutorial_04_IpTestBed.zip

Summary

Intensity transformations are achived by replacing a pixel's value with another that is obtained from a look-up table. For example an image negative can be done in this way. A look-up table array of 256 value would be set up containing the values 255 down to 0. If a pixel has a value of 3 then the value in that array position (252) is used as the new value. This will change dark pixels to light pixels and vice-versa.

A number number of intensity transormations are described in this tutorial.

The 'IpTestBed' program will be modified to perform a brightness adjustment on an image. This is done by increasing or decreasing the grey-level value of each pixel to brighten or darken the image respectively. This is achieved by adding a positive or negative value onto the grey levels or rather creating a lookup table to produce this effect.

You will appreciate that if you increase the brightness of a pixel that has a value of 250 by 50 then the result will be 300 which is greater than white which has a value of 255. Values that go too low or too high are limited by a technique called 'clipping'. This is also discussed in the tutorial.

Another technique is contrast adjustment which is done in the same way using a look-up table. The values in the look-up table are obtained using a calculation known as power-law or gamma correction.

Original

After contrast adjustment

Please download the tutorial in the Resources section above and work through it using Microsoft C#. If you have any trouble creating the progam from the code given in the tutorial, please download the full C# project and try to work out what has gone wrong with yours.

When you are ready go onto the next tutorial.

Resources

Full tutorial (in Acrobat pdf format):

Tutorial_04.pdf

C# project (zip file):

Tutorial_04_IpTestBed.zip