# ikt213_project

## Features

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

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

Image menu
- Select
    - [x] Rectangular selection
    - [x] Free-form selection (Lasso)
    - [ ] Polygon selection
    - [x] Crop
    - [x] Resize
- [ ] Rotate right 90 degrees
- [ ] Rotate Left 90 degrees
- [ ] Flip vertical
- [ ] Flip horizontal 

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

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

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

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

### Optional features
- [x] Camera
- [x] Snapchat camera 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
