CSN 455 - Image Processing Programming Assignment 1 - Due Thursday, Feb. 21 For this assignment, you will implement an image enhancement program which allows a user to choose one of a minimum of three enhancement techniques. You may implement any three of the following: - digital negative transformation (ng) - thresholding with specified threshold value (th) - contrast stretching to minimum and maximum values contained in the image (cs) - contrast stretching with specified maximum and minimum values (cm) - contrast stretching with percentage of pixels to be discarded from the low end and high end of the intensity distribution (cp) - square root transformation (sq) - histogram equalization (he) You program should be named enhance, and should have the following command line format: enhance image.pgm enhanced_image.pgm -code [optional arguments] where code is a two letter abbreviation corresponding to one of the above enhancement techniques. Please create a directory called IP in your home directory on eckserver. In the IP directory, create a subdirectory called ENHANCE. Copy the files from /usr/local/classes/csn455/ENHANCE as a start for your program to the ENHANCE subdirectory. The files are: enhance.cc image_io.c image_io.h makefile Copy the files to your directory, type make to compile and link the program. To run the program type: enhance /usr/local/images/camera.pgm bright_camera.pgm 2 (You should see an xv window with the display of the camera image, and to its right another xv window with the display of a brightened camera image.) This assignment can be accomplished by adding code or modifying existing code in the file called enhance.cc. None of the other files should be modified and no new or additional source files should be created