<< Chapter < Page | Chapter >> Page > |
Please download the eco.tiff , lena.tiff and copy them into your Matlab current workspace before continuing.
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.
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?
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?
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?
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?
Notification Switch
Would you like to follow the 'Ece 420 spring 2014' conversation and receive update notifications?