Image Enhancer GUI

REPORT (Project) | REPORT (Asgn 1) | GITHUB
Python libraries used: Tkinter, OpenCV, Numpy
This was a course project done as a part of the course EE 610: Image Processing by Prof. Amit Sethi (Fall 2021 offering). The project was done in two parts, the first one being an assignment (Assignment 1) and the other being a more detailed component (Project)
Assignment 1 (an individual assignment) involved coding a GUI for loading, editing and saving an image from/to the local machine. I used the Python library tkinter to develop the GUI. This was followed by programming image operations like histogram equalization, gamma correction, binary thresholding, blurring and sharpening. Each of these was coded from scratch (using only Numpy). The GUI also contains functionality for Undo-ing the last action and Reset-ing the image to the original form. This was implemented using a stack data structure implemented with global variables in Python.
The Project was done in a group of 3. We coded a Canny Edge Detection system for images from scratch (using only Numpy) and integrated it into the previously developed GUI from Assignment 1. We also implemented deep learning based image superresolution using residual learning and integrated it into the GUI. In addition to this, we also added morphological operations such as opening and closing to our set of operations.
For the code for assignment 1 and project, please check this repository. The GUI screenshot and some sample outputs using our operations are shown here for illustration:





