2. Write a program called “unsharp” which is run as follows:
– Ask the user for an image.
– Open the image as a grayscale image.
– Pad the image (you choose the padding method).
– Perform unsharp masking on the given image using the spatial domain and a 3×3 averaging mask.
– Remove the padding.
– Save the result as a new image.
– Display the original image and the resulting image.
The program should assume that the images are 8-bit images, with grayscale values in the range of [0, 255]. Ensure that the output intensity values stay within this range.
Your program should be appropriately organized and documented. Include some example images that you have tested the program on, showing both the original and resulting images. Make sure there is variation in image detail and noise.