For this lab, we were to play with the histogram features of MATLAB with a moon image and an additional image of our choice. We started out with the image shown below.
Our Image
First, we took the histogram of the image, which is shown below.
We then performed a histogram stretch of this image.
MATLAB code:
imshow(imadjust(IM,
[0 0.5], [0 1], 1);
Histogram of stretched image:
We then inverted the image using imadjust()
MATLAB code:
imshow(imadjust(IM,
[0 1], [1 0], 1));
Here's the histogram of the image:
Next, we changed the gamma parameter of the imadjust() function. Below are the results of using gamma values of 0.2, 0.5 and 2.0 respectively.
Moon image
We started playing with this image like the last one, by first taking the histogram of the image.
Original image
Histogram
Then, we used histeq() to perform a histogram equalization on the image.
Histogram equalized image
Histogram of previous image
The main problem with histogram equalization on this
image is that it emphasizes the wrong set of values. It emphasizes
the big block of dark values by spreading them out. In this image
the light values are more important to the detail, and in this case they
were deemphasized.
To fix this problem, we took all the pixels that
had less than 115 in the histogram and gave them the value of 0.
We then performed a histogram stretch of the rest of the values in the
image. Here's the results:
Good looking image
MATLAB code:
imshow(imadjust(histeq(IM),
[.45 1], [0 1], 1))
Histogram of good image