This project contains three parts, image sharpening, more on edge detection, and color image enhancement. Along with the images you are required to submit (indicated in each of the following problems), also submit a text file of a brief description of what you did for each of the problems. Since image enhancement is very subjective and application oriented, you need to be creative while designing the algorithms for the best effects.
As always, add your last name in front of the image names specified below and submit them to ``/students/proj3''.
Use the following methods to detect edges in /e186/imagedata/panda.pgm. The purpose here it to get the a binary line drawing of the panda in the image.
As I showed you in class, it is effortless for our visual system to detect the edges in the image /home/adder/classes/e186/imagedata/noisy_box.pgm. But if you look at the cross section of the image (/home/adder/classes/e186/imagedata/noisy_box_profile.pgm), you will see it may not be so effortless for a computer program to detect the edges. Now do whatever it may take to detect the edges (a square) so that they are represented by lines with single-pixel width. This is obviously a multi-step process. Submit the result as image 5. Could you postulate how our visual system may be doing this?
Design several different high-pass masks (including high-boost) for image sharpening. Here the purpose is to enhance the edges and other details such as textures, but we still want to preserve the basic contents of the image. Try kernels of different sizes for best result. Apply these masks to /e186/imagedata/blurred_cat.pgm and an image of your choice and submit the best result for each image. name them image 6 and 7.
The purpose here is to improve the appearance of a color image of your choice. There are quite a few color images in ``/e186/imagedata/'' (all those images with .ppm extension). You should choose one of those images with poor contrast, poor color saturation (such as "NorthSea.ppm") and distorted colors so that the effect of your processing will be most significant. Submit the color image of your choice as image 8.
Two pairs (four) functions are provided for RGB-HSI conversion in /e186/programs/rgbhsi.c. One pair is based on the RGB cube color model and the other is based on the hexcone HSV model. Go through the code to see how the conversions are implemented before you use it. In particular, you should notice that the intensity in the function is represented by a value between 0 and 1 (instead of 0 and 255!). Try both methods for the following and submit the better one for each. Comment on the difference (or similarity) between the two methods, if any.