This project covers the implementation and comparison of various image segmentation algorithms, including Mean Shift, Agglomerative Clustering, K-Means, Region Growing, Global Thresholding, and Local Thresholding. These methods are applied to image data to explore their effectiveness in different scenarios.
- Bandwidth and mean shift vector initialization.
- Iterative mean shift computation with convergence check.
- Cluster assignment based on mode identification.
- Agglomerative Clustering:
- Pairwise distance computation and merging of closest clusters.
- Repeated merging until the desired number of clusters is achieved.
- Random initialization of centroids.
- Iterative assignment of data points to nearest centroids and centroid update.
- Convergence based on centroid position changes.
- Region-based segmentation using seed points.
- Colorization and detection functions for labelled regions.
- Otsu’s Thresholding: Automatic threshold selection to maximize between-class variance.
- Entropy Thresholding: Threshold selection based on maximum information gain.
- Spectral Thresholding: Application of Otsu’s method in local regions.
- Variance Thresholding: Thresholding based on local variance.
- Double Thresholding: Segmentation into low, medium, and high-intensity regions.
- Multi-level Thresholding: Segmentation using multiple thresholds.
Here are some outputs generated from the algorithms implemented in this project:
To run the project, you need:
C++ compiler Qt framework OpenCV library Run the Project
Team Members' Names |
---|
Ahmed Kamal |
Amgad Atef |
Mahmoud Magdy |
Mahmoud Mohamed |