A comprehensive desktop application developed in C++ using the Qt Framework. This project implements core Computer Vision algorithms from scratch, focusing on edge detection, geometric shape recognition, and contour tracking through mathematical energy minimization.
Implemented the complete 5-step Canny edge detection pipeline from scratch:
- Gaussian Blur for noise reduction.
- Sobel Gradients (Magnitude & Angle computation).
- Non-Maximum Suppression (Edge thinning).
- Double Thresholding.
- Edge Tracking by Hysteresis.
- Hough Circles: Utilizes a highly optimized accumulator to detect circular shapes.
- Hough Ellipses & Lines: Extracts generalized geometric shapes from binary edge maps by mapping pixels to parameter space.
Implemented an iterative energy-minimizing spline model for contour tracking and image segmentation. The contour actively snaps to object boundaries by minimizing the total energy:
Simultaneous detection and overlay of multiple geometric primitives.
Robust detection of circular shapes using a custom accumulator.
Extracting elliptical structures by mapping pixels to the required parameter space.
Visualizing the iterative process of the contour snapping to the object's boundaries by minimizing energy functions.
- Language: C++ (Object-Oriented Design)
- GUI Framework: Qt (Widgets / UI Designer)
- Build System: CMake
- Libraries: OpenCV (Used strictly for matrix operations
cv::Matand basic rendering, while core algorithms are implemented from scratch).
- CMake (Version 3.16 or higher)
- Qt5 or Qt6 libraries
- C++17 Compiler
- Clone the repository:
git clone [https://github.com/YourUsername/CV-Edge-Shape-Detection.git](https://github.com/YourUsername/CV-Edge-Shape-Detection.git)




