Overview
A suite of image pre-processing and feature extraction/detection tools developed from first principles in MATLAB. Includes piece-wise linear transforms, histogram specification, Harris Corner Detector and HOG. All were optimised with vectorised operations.
Why it’s interesting
Worked directly with pixel intensities, gradients, kernels, histograms and local response functions to process and extract features from images rather than using abstracted ML libraries. This project gave me hands-on experience on how useful visual features can be derived from raw pixel data and how local gradients and intensity distributions encode structure. This project showed me how classical methods can still provide useful features for Computer Vision tasks and how image transformations can affect feature quality.
Key Technical Points
- Classical vision algorithms from first principles: Implemented piecewise linear contrast stretching, histogram specification and Gaussian-based image sharpening from first principles.
- Feature extraction:
- Histogram of Gradients: Built HOG feature extraction using Sobel gradients, orientation binning and block normalisation to encode local shape and edge information.
- Harris Corner Detector: Implemented Harris corner detection from image derivatives, second-moment matrices, Gaussian smoothing and local response maxima.
- Efficient implementation: Used vectorised matrix operations, filtering, logical masking to ensure my implementation was efficient and scalable in MATLAB.
- Output validation: Cross-checked outputs against MATLAB reference functions where appropriate to verify my results.
Tech Stack
Language: MATLAB
Focus: Computer Vision, Vectorised Operations