diff --git a/README.md b/README.md
index 71d2f26..5657524 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,125 @@
-# CV Toolbox
+# Computer-Vision-Toolkit
+
+## Table of contents:
+
+- [Introduction](#introduction)
+- [Full Project Features](#project-features)
+- [Project Structure](#project-structure)
+- [How to Run The Project](#run-the-project)
+- [Team](#team)
+
+### Introduction
+
+Computer Vision Toolkit Application is a software solution designed to leverage the power of computer vision algorithms through an intuitive and user-friendly graphical user interface (GUI) developed using the Qt framework. This application aims to provide users with a versatile toolset for image analysis, making it suitable for a wide range of applications, including image processing, object detection,image features extraction, and more.
+
+### Project Features:
+
+This application mainly consists of 11 tabs (pages) to provide user with all needed CV algorithms, each page has certain features that are related to each other as follows:
+
+1. Filters, Noise and Edge Detectors page:
+ Includes 3 types of noise that user can add to gray/coloured images:
+
+ | Uniform Noise | Guassian Noise | Salt & Pepper Noise |
+ | :----------------------------: | :-----------------------------: | :--------------------------------: |
+ |  |  |  |
+
+ Includes 4 edge detectors types with the ability to control kernal size and any additional option for detector:
+ | Sobel | Roberts | Perwitt | Canny |
+ | :----------------------------: | :-----------------------------: | :--------------------------------: | :--------------------------------: |
+ |  |  |  |  |
+
+ Includes 3 types of filter enanling user to control kernal size:
+
+ | Average Filter | Guassian Filter | Median Filter |
+ | :-----------------------------: | :------------------------------: | :----------------------------: |
+ |  |  |  |
+
+ for more details about this page and results check [Report 1](docs\Report%201.pdf)
+
+2. Normalization, Equalization and Thresholding page:
+ Shows images histogram with options to normalize or equalize:
+ | Histogram | Normalization | Equalization |
+ | :----------------------------: | :-----------------------------: | :-----------------------------: |
+ |  |  |  |
+
+ Apply both global or local thresholding on uploaded image:
+ | Local | Global |
+ | :----------------------------: | :-----------------------------: |
+ |  |  |
+
+ for more details about this page and results check [Report 1](docs\Report%201.pdf)
+
+3. Frequency Domain Filters and Hybird Image:
+ User upload 2 different images and determine the raduis for each filter type(high pass or low pass) and then can combine the output to get hybird image.
+ 
+ for more details about this page and results check [Report 1](docs\Report%201.pdf)
+
+4. Hough Transform Page:
+ This page enbles user to apply Line/ Circle / Ellipse hough transform:
+ | Line | Circle | Ellipse |
+ | :----------------------------: | :-----------------------------: | :-----------------------------: |
+ |  |  |  |
+
+ for more details about this page and results check [Report 2](docs\Report%202.pdf)
+
+5. Active Contour Page:
+ User has the ability to select cirlce fro image and tune paramters to contour objects.
+ | Example 1 | Example 2 |
+ | :----------------------------: | :-----------------------------: |
+ |  |  |
+
+ for more details about this page and results check [Report 2](docs\Report%202.pdf)
+
+6. Harris and Lambda Corner detector page:
+ User can detect corners by harris or lambda methods and change kernal size and threshold.
+ | Harris | Lambda |
+ | :----------------------------: | :-----------------------------: |
+ |  |  |
+
+ for more details about this page and results check [Report 3](docs\Report%203.pdf)
+
+7. Image Matching Methods page:
+ User can match between image template and full image with 2 methods:
+ | Square Sum of Differences method | Cross Correlation Method |
+ | :----------------------------: | :-----------------------------: |
+ |  |  |
+
+ for more details about this page and results check [Report 3](docs\Report%203.pdf)
+
+8. Sift Descriptors Page:
+ User can upload one or two image to get SIFT Keypoints with options to tune, and then compute keypoints matching between images.
+
+
+
+
+ for more details about this page and results check [Report 3](docs\Report%203.pdf)
+
+9. Advanced Thresholding Page:
+ Includes Global Thresholding with 2 methods:
+ |Ostu Thresholding| Optimal Thresholding |
+ | :----------------------------: | :-----------------------------: |
+ |  |  |
+
+ Includes Local Thresholding and Multi-level Thresholding:
+ |Local Thresholding| Multi-level Thresholding |
+ | :----------------------------: | :-----------------------------: |
+ |  |  |
+
+ for more details about this page and results check [Report 4](docs\Report%204.pdf)
+
+10. Segmentation Methods Page:
+ User can segment RGB images with 4 types of segmentation:
+ | K-Means Segmentation | Mean Shift Segmentation | Agglomerative Segmentation | Region Growing |
+ | :----------------------------: | :-----------------------------: | :--------------------------------: | :--------------------------------: |
+ |  |  |  |  |
+
+for more details about this page and results check [Report 4](docs\Report%204.pdf)
+
+11. Face Recognition and detection page:
+
+- User can upload person or multi persons images and detect faces in images.
+- User can upload training folder includes images named with its label.
+- Once training finishes, User can upload new image to predict person in the image
+- if model already exists, Then user can work dirctley without training
+- For new training, user can determin number of PCA compenets to train a nearest neigbour model.
+- User can upload test folder to visulaize ROC for each label.
diff --git a/samples/active-contour-2.png b/samples/active-contour-2.png
new file mode 100644
index 0000000..dd85879
Binary files /dev/null and b/samples/active-contour-2.png differ
diff --git a/samples/active-contour.png b/samples/active-contour.png
new file mode 100644
index 0000000..fe694d6
Binary files /dev/null and b/samples/active-contour.png differ
diff --git a/samples/agg-seg.png b/samples/agg-seg.png
new file mode 100644
index 0000000..8f2894f
Binary files /dev/null and b/samples/agg-seg.png differ
diff --git a/samples/average-filter.png b/samples/average-filter.png
new file mode 100644
index 0000000..d791a23
Binary files /dev/null and b/samples/average-filter.png differ
diff --git a/samples/canny-detector.png b/samples/canny-detector.png
new file mode 100644
index 0000000..0b68eb9
Binary files /dev/null and b/samples/canny-detector.png differ
diff --git a/samples/equalizer.png b/samples/equalizer.png
new file mode 100644
index 0000000..346ac34
Binary files /dev/null and b/samples/equalizer.png differ
diff --git a/samples/global-thresh.png b/samples/global-thresh.png
new file mode 100644
index 0000000..e06757d
Binary files /dev/null and b/samples/global-thresh.png differ
diff --git a/samples/guassian-filter.png b/samples/guassian-filter.png
new file mode 100644
index 0000000..26222d7
Binary files /dev/null and b/samples/guassian-filter.png differ
diff --git a/samples/guassian-noise.png b/samples/guassian-noise.png
new file mode 100644
index 0000000..14738f4
Binary files /dev/null and b/samples/guassian-noise.png differ
diff --git a/samples/harris.png b/samples/harris.png
new file mode 100644
index 0000000..f328987
Binary files /dev/null and b/samples/harris.png differ
diff --git a/samples/high-pass.png b/samples/high-pass.png
new file mode 100644
index 0000000..ffbf9fd
Binary files /dev/null and b/samples/high-pass.png differ
diff --git a/samples/histogram.png b/samples/histogram.png
new file mode 100644
index 0000000..d54eb2f
Binary files /dev/null and b/samples/histogram.png differ
diff --git a/samples/hough-circle.png b/samples/hough-circle.png
new file mode 100644
index 0000000..47941c0
Binary files /dev/null and b/samples/hough-circle.png differ
diff --git a/samples/hough-ellipse.png b/samples/hough-ellipse.png
new file mode 100644
index 0000000..d29f941
Binary files /dev/null and b/samples/hough-ellipse.png differ
diff --git a/samples/hough-line.png b/samples/hough-line.png
new file mode 100644
index 0000000..f2ca908
Binary files /dev/null and b/samples/hough-line.png differ
diff --git a/samples/hybird.png b/samples/hybird.png
new file mode 100644
index 0000000..2dbde28
Binary files /dev/null and b/samples/hybird.png differ
diff --git a/samples/k-means.png b/samples/k-means.png
new file mode 100644
index 0000000..002b4a1
Binary files /dev/null and b/samples/k-means.png differ
diff --git a/samples/lambda.png b/samples/lambda.png
new file mode 100644
index 0000000..93e9756
Binary files /dev/null and b/samples/lambda.png differ
diff --git a/samples/local-thresh-2.png b/samples/local-thresh-2.png
new file mode 100644
index 0000000..9bd3627
Binary files /dev/null and b/samples/local-thresh-2.png differ
diff --git a/samples/local-thresh.png b/samples/local-thresh.png
new file mode 100644
index 0000000..71f0d2d
Binary files /dev/null and b/samples/local-thresh.png differ
diff --git a/samples/low-pass.png b/samples/low-pass.png
new file mode 100644
index 0000000..40d988a
Binary files /dev/null and b/samples/low-pass.png differ
diff --git a/samples/match-ncc.png b/samples/match-ncc.png
new file mode 100644
index 0000000..2be9559
Binary files /dev/null and b/samples/match-ncc.png differ
diff --git a/samples/match-ssd.png b/samples/match-ssd.png
new file mode 100644
index 0000000..41892ed
Binary files /dev/null and b/samples/match-ssd.png differ
diff --git a/samples/mean-shift-seg.png b/samples/mean-shift-seg.png
new file mode 100644
index 0000000..160bfd4
Binary files /dev/null and b/samples/mean-shift-seg.png differ
diff --git a/samples/median-filter.png b/samples/median-filter.png
new file mode 100644
index 0000000..652c155
Binary files /dev/null and b/samples/median-filter.png differ
diff --git a/samples/multi-thresh.png b/samples/multi-thresh.png
new file mode 100644
index 0000000..0bf2e0f
Binary files /dev/null and b/samples/multi-thresh.png differ
diff --git a/samples/normalization.png b/samples/normalization.png
new file mode 100644
index 0000000..a4382d4
Binary files /dev/null and b/samples/normalization.png differ
diff --git a/samples/optimal-thres.png b/samples/optimal-thres.png
new file mode 100644
index 0000000..1d1dac5
Binary files /dev/null and b/samples/optimal-thres.png differ
diff --git a/samples/ostu-thresh.png b/samples/ostu-thresh.png
new file mode 100644
index 0000000..02f5a91
Binary files /dev/null and b/samples/ostu-thresh.png differ
diff --git a/samples/perwitt-detector.png b/samples/perwitt-detector.png
new file mode 100644
index 0000000..8eb2d73
Binary files /dev/null and b/samples/perwitt-detector.png differ
diff --git a/samples/region-growing.png b/samples/region-growing.png
new file mode 100644
index 0000000..54f9d12
Binary files /dev/null and b/samples/region-growing.png differ
diff --git a/samples/roberts-detector.png b/samples/roberts-detector.png
new file mode 100644
index 0000000..8004586
Binary files /dev/null and b/samples/roberts-detector.png differ
diff --git a/samples/salt-pepper-noise.png b/samples/salt-pepper-noise.png
new file mode 100644
index 0000000..6542a0b
Binary files /dev/null and b/samples/salt-pepper-noise.png differ
diff --git a/samples/sift-feat.png b/samples/sift-feat.png
new file mode 100644
index 0000000..e7e7159
Binary files /dev/null and b/samples/sift-feat.png differ
diff --git a/samples/sift-match.png b/samples/sift-match.png
new file mode 100644
index 0000000..2a65b80
Binary files /dev/null and b/samples/sift-match.png differ
diff --git a/samples/sobel-detector.png b/samples/sobel-detector.png
new file mode 100644
index 0000000..21902f7
Binary files /dev/null and b/samples/sobel-detector.png differ
diff --git a/samples/uniform-noise.png b/samples/uniform-noise.png
new file mode 100644
index 0000000..b428a1f
Binary files /dev/null and b/samples/uniform-noise.png differ