# ikt213_project

## Features

### Minimum Features
File menu
- [ ] New
- [x] Open
- [ ] Save
- [x] Save as
- [ ] Properties
- [x] Quit

Clipboard menu
- [ ] Copy
- [ ] Paste
- [ ] Cut

Image menu
Select
- [x] Rectangular selection
- [x] Free-form selection (Lasso)
- [ ] Polygon selection
- [x] Crop
- [ ] Resize

Rotate
- [x] Rotate right 90 degrees
- [x] Rotate Left 90 degrees
- [x] Flip vertical
- [x] Flip horizontal 

Tools menu
- [ ] Zoom (Zoom In, Zoom Out)
- [ ] Erase
- [x] Color Picker
- [ ] Paint brushes (with different textures/patterns)
- [x] Text box

Filters
- [ ] Gaussian filter
- [ ] Sobel filter
- [ ] Binary filter
- [ ] Histogram thresholding 

Shapes menu 
- [ ] List of Shapes
- [ ] Outline color
- [ ] Fill color

Colors menu
- [ ] Color pallet
- [x] Size of brush

### Optional feature to design:
- [x] Snapchat filters
- [ ] Smart Scissors
- [ ] Geofilters

## requirements
* opencv2
* pillow
* numpy

## setup (python venv)
* python3 -m venv .venv
* source .venv/bin/activate
* pip install -r requirements.txt

## run
python src/Main.py
