on
[DIP] 1. Pointwise Intensity Transformation
Image enhancement
Image enhancement is the process of making an image `look better', which is certainly a subjective goal and can vary for different situations. Pointwise intensity transformation is a type of image enhancement technique.
Pointwise intensity transformation
Pointwise intensity transformation is modifying the intensity of each point independently with each other. Such transformation is done when the image is too dark, too bright, or when we want to look into a specific intensity region. Pointwise intensity transformation can be represented with a function that maps the intensity in the original image to the modified intensity. Every pixel that has the same intensity in the original image must have the same intensity in the transformed image as well.
![]() |
---|
Figure 1. Pointwise intensity transformations |
Figure 1 describes several examples of pointwise intensity transformations. The identity maps the image to an identical image. The negative turns the bright parts of the image dark and the dark parts bright. The power > 1 turns the image generally dark, and power < 1 turns the image bright. Dynamic range expansion spreads out the middle intensity range and turns the bright/dark parts brighter/darker.
The following figures demonstrate each transformation in action. Figure 2-1 is the original image of a dog. Figures 2-2, 2-3, 2-4, 2-5, 2-6 are the results of each transformation.
![]() |
![]() |
![]() |
---|---|---|
Figure 2-1. Original image | Figure 2-2. Identity transformation | Figure 2-3. Negative transformation |
![]() |
![]() |
![]() |
Figure 2-4. Power transformation (gamma > 1) | Figure 2-5. Power transformation (gamma < 1) | Figure 2-6. Dynamic range expansion |
Another interesting pointwise intensity transformation technique is bit plane slicing. Each pixel in a 8-bit image has a value ranging from 0 to 255 and can be written in 8 binary digits. Then this image can be separated into 8 bit planes where each pixel in the $i$ th bit plane represents the $i$ th binary digit of the pixel. Figures 3- $i$ ( $1 \leq i \leq 8$ ) each represent the $i$ th bit plane of the dog image (Figure 2-1).
![]() |
![]() |
![]() |
![]() |
---|---|---|---|
Figure 3-1. Bit plane 1 | Figure 3-2. Bit plane 2 | Figure 3-3. Bit plane 3 | Figure 3-4. Bit plane 4 |
![]() |
![]() |
![]() |
![]() |
Figure 3-5. Bit plane 5 | Figure 3-6. Bit plane 6 | Figure 3-7. Bit plane 7 | Figure 3-8. Bit plane 8 |
We see that the higher bit planes are fairly close to the original image. Taking some of these planes and adding them, we get the following results.
![]() |
![]() |
---|---|
Figure 4-1. Bit plane 7+8 | Figure 4-2. Bit plane 6+7+8 |
Each of these images use far less pixels than the original image and are sufficient to recognize that the object in the image is a dog. In some cases this may be a viable compression technique.
The code used for generating the images can be found here.