A robust, object-oriented C++ library built from scratch to load, process, and manipulate grayscale images (PGM format).
- Custom Image Class: Manages 2D pixel arrays with deep copy semantics, memory management, and overloaded operators for image arithmetic.
- Spatial Filters: Supports brightness and contrast adjustments, and non-linear Gamma correction.
- Mathematical Convolutions: Applies custom kernels including:
- Mean & Gaussian Blur
- Horizontal & Vertical Sobel (Edge Detection)
- Drawing Module: Rasterizes 2D shapes (circles, lines, rectangles) directly onto the image matrix.
- Language: C++
- Concepts: OOP (Inheritance, Polymorphism), Memory Management (Pointers), Linear Algebra.