Built an image processor in Java with the following functionalities:
- load and display an image
- pixel value rescaling and shifting
- perform arithmetic and Boolean operations between images
- perform point processing and bit-plane slicing
- perform a convolution on the image for
- smoothing the image
- edge detection in the image
- perform order statistic filtering
Image processing algorithms to improve/alter the image contrast using:
- histogram equalisation
- thresholding
Incremental improvements were also made to the program such as being able to select a Region of Interest (ROI) to perform image processing functions on that ROI.
Made the program user friendly by implementing a menu system. The menu system allows user to perform multiple image processing functions to one or multiple images, and/or ROI of a given image.
I have also included an "undo" function to undo image additions or function processes on any given image.