Requirement: Python 3.8.
Folder 1
contains 1.py
and 2.py
that correspond to exercise 1.{1-4} and exercise 2.
- just press
Space
- Key
1
- HSV - Key
2
- LAB - Key
3
- YUV - Key
4
- Adaptive Gausian Thresholding - Key
5
- OTSU' Thresholding - Key
6
- Canny Edge Detection - Key
7
- SIFT Detection - Key
9
- Gaussian Blur - Key
0
- Nothing - Key
q
- Quit
- Key
q
- Quit
- Key
1
- OpenCV based Sobel edge detection - Key
2
- Fourier based Sobel edge detection (My smart approach) - Key
3
- For loop based Sobel edge detection (Stupid approach) - Key
q
- Quit
- Key
Space
- Quit from viewing a clustered image - Key
q
- Quit - Keys
1-6
- to choose
General problems of k-means clustering:
- Choosing k manually
- Dependence on the initial values (Main in current assignment)
- Lack of robustness (sensitivity to outliers)
- Distance is sensitive to the number of dimensions
Probable solutions:
- Scree plot
- Kmeans++ approach (Which was implicitly implemented)
- Use medians (even better PAM algorithm)
- Dimension reduction by using PCA (PCA is here as simple ans well-known approach)