Skip to content

Made an image processing app using Object Oriented Programming (OOP). Contains several image methods. It simulates a monetised app using inheritance. It also impements a KNN classifier to predict image labels.

Notifications You must be signed in to change notification settings

reevafaisal/Image_Processing_ObjectOrientedProgramming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image Processing App

Technologies used: Python, HTML, CSS, Jinja, Flask, Werkzeug, dotenv, JavaScript

Overview

This project is an image processing application designed to demonstrate fundamental concepts of digital image processing, including the RGB color model, image manipulation techniques, and machine learning classification with KNN (K-nearest neighbors). The application is split into several parts, covering the basics of how images are stored and manipulated in code, image processing methods, simulation of monetized and premium app features, and the implementation of a KNN classifier to predict image labels.

Additionally, I voluntarily built a GUI for this Image Processing application allowing the user to interact with and use the various computer vision techniques imbedded within the app's functionalities. I have also built a CLI for this application if you prefer to look into that instead. The code for both of these files is publicly available. The data science specific functionalities of this project cannot be shared due to university policy, though it is available for viewing upon request. If you would like to interact with the deployable GUI please use this link:

Note

The data science specific functionalities of this project cannot be shared due to university policy, though it is available for viewing upon request.

Using the GUI

After launching the app, the UI will provide options to select and process images with the implemented features. You can choose to apply various filters, adjust brightness, rotate images, and more. Additionally, the premium features and the KNN classifier can be accessed through the UI, offering an intuitive way to interact with the application's functionalities.

Example 1: Using the Premium Add Sticker feature:

1 2

Example 2: KNN Classfier:

3

Installation

Prerequisites

Python 3

Pip (Python package installer)

Required Packages

NumPy

Pillow (PIL)

Project Structure

The project is divided into several key parts:

Part 1: Implementation of the RGBImage class to handle basic image storage and manipulation.

Part 2: Introduction of image processing methods in the ImageProcessingTemplate class.

Part 3: Extension of Part 2 to simulate a monetized app with additional costs for processing methods.

Part 4: Further extension to simulate a premium app, adding new methods and a fixed upfront cost.

Part 5: Implementation of a KNN classifier to predict image labels based on provided datasets.

The UI component is developed as a separate Python file, providing an interface to interact with the core functionalities implemented in the project.

About

Made an image processing app using Object Oriented Programming (OOP). Contains several image methods. It simulates a monetised app using inheritance. It also impements a KNN classifier to predict image labels.

Resources

Stars

Watchers

Forks

Releases

No releases published