https://github.com/rafaelwi/riplab
Rafael's Image Processing Lab, Full-stack webapp and API for image editing and processing
https://github.com/rafaelwi/riplab
Last synced: 6 months ago
JSON representation
Rafael's Image Processing Lab, Full-stack webapp and API for image editing and processing
- Host: GitHub
- URL: https://github.com/rafaelwi/riplab
- Owner: rafaelwi
- Created: 2023-03-12T23:45:02.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-11-07T03:13:09.000Z (almost 2 years ago)
- Last Synced: 2025-02-05T20:06:27.970Z (8 months ago)
- Language: Python
- Homepage:
- Size: 6.65 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RIPLab
Rafael's Image Processing Labratory. Final project for CIS*4720 Image Processing and Vision.A full-stack web application and RESTful API that allows users to adjust your images, apply filters, and perform complex image processing tasks. All image manipulation functionality is built from first principles.
**Backend:** Python, Flask, SQLite
Handles the image manipulation, API calls, and CRUD webapp functionality**Frontend:** TypeScript, React, NPM, Yarn, Node.JS
The pretty interface that you interact with## Installation
Download the repo from GitHub and download the necessary libraries```
git clone https://github.com/rafaelwi/RIPLab
cd riplab
npm start
cd api
pip install -r requirements.txt
flask run
```The frontend of the application can be accessed at `localhost:3000`
The backend of the application can be accessed at `localhost:4720`## Features
- Image cropping
- Vertically and horizontally flip an image
- Scale images with through nearest neighbour or bilinear interpolation
- Rotate an image
- Linear and exponential mapping of each pixel
- Per-channel histogram calculations
- Histogram equalization
- Convolution kernel filtering
- Salt and pepper noise
- Non-linear filtering
- Vertical and horizontal shearing## Screenshots and Cool Examples
Here are some screenshots and examples of what RIPLab can do. This is not an exhausive list, nor the limitations of what is capable, but just some things that I thought were interesting:
*Histograms display differently based on the number of colour channels present in the image*

*Using an edge detection kernel like [-1 -1 -1] [-1 8 -1] [-1 -1 -1] on an image with a transparent background will give you its outline. This is a function that's quite easy to do with code but quite hard to do in a proper image editor like Photoshop*

*Histogram equalization can produce some serene imagery, bringing out the darker parts of an image. luh calm fit*
*Salting and peppering, among other functions, can be applied with or without the alpha channel in mind. This can create some interesting features, such as the edges of the dice in the centre image having translucent noise*