<< Chapter < Page Chapter >> Page >
Histogram equalization and color space conversion

Please download the eco.tiff , lena.tiff and copy them into your Matlab current workspace before continuing.

Overview

Digital images are made up of picture elements, more commonly known as pixels arranged in a rectangular grid. Three frequently encountered image formats are:

Binary image : are 2D arrays which has only two values 1 or 0 where 1 corresponds to white and 0 corresponds to black.

Intensity or grey scale image : are 2D arrays where pixel intensities have a n-bit representation. For example, an 8-bit image has a variation from 0 to 255 where 0 represents black, 255 represents white and intermediate values correspond to gray levels that span the range from black to white.

RGB color images are 3D arrays that assign three numerical values to each pixel, each value correponds to the red, green, and blue image channel, respectively.

I. image enhancement

One simple image enhancement method is increasing the image brightness.Read one of Matlab's default image cameraman.tif by using imread(‘cameraman.tif’) , then increase its brightness by using the imageadd function. To show the image, use the function imshow . What is the dynamic range (the number of distinct pixel values in an image) of the orginal and the enhanced image? Now try to enhance the eco.tif image. Could you enhance the quality of the image by simply increasing its brightness?

Ii. histogram equalization

Histogram equalization is one of the most commonly used image contrast enhancement technique. The approach is to design a transformation in such a way that the gray values in the output image are uniformly distributed. You’ll have a chance to implement histogram equalization in C in lab 4.

For this part, use Matlab built in function histeq to perform the histogram equalization on the eco.tif , then save the image in Bitmap format to the disk.

Question : Can you improve the result of enhancement by repeating the histogram equalization? Why?

Iii. color spaces conversion:

An artist might mix their primary colors on a palette to visualize the color they want to pick. A color space is like a digital palette but a more precisely organized one. Learning to visualize the color space will help you envision the suitable one for your image processing task.

1. We will first look at the popular RGB color space. Load the Lena image into the Matlab workspace. The color image in Matlab is represented as a three dimensional array (M×N×3) or ((M×N×3) depending on the color model RGB, CMYK, HSL. We will first look at the popular RGB color space. Load the Lena image into Matlab workspace. Zero out two channels and keep one channel intact. Display the result.

Question :What do the three channels represent, and explain how would modifying each of the channels would change the image?

2. Now we investigate a different color space called HSV which is more closely related to our perception of color. We will reuse the Lena image. Convert the Lena image, which is in RGB color space, into HSV color space. To understand the significance of each channel, apply different scaling for each channel as follows. Scale the magnitude of the H channel by 0.1, 0.5 and 0.7. Combine your scaled H with the unscaled S and V channels, transform to RGB image and display it. Repeat the previous step for S and V channel.

Question : What do the three channels represent, and explain how would modifying each of the channels would change the image?

Iv. histogram equalization on color image:

Apply the histogram equalization to the three channels of the Lena image in RGB color space, combine and display the result.

Question : if you are to apply the histogram equalization on HSV image, which channels would you use? Why?

Use your answer to do the histogram equalization in the HSV color space on the Lena image.

Which color spaces should we use when we perform the histogram equalization? Why?

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Ece 420 spring 2014. OpenStax CNX. Jan 18, 2014 Download for free at http://cnx.org/content/col11618/1.3
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Ece 420 spring 2014' conversation and receive update notifications?

Ask