A sophisticated C++ image processing class that demonstrates advanced operator overloading techniques for image manipulation and arithmetic operations.
UJImage is a comprehensive C++ class that implements a robust image container with extensive operator overloading capabilities. This project showcases advanced C++ programming concepts including deep copy semantics, pixel-level operations, and stream manipulation.
=(Assignment): Deep copy assignment between UJImage instances==(Equality): Per-pixel comparison of two images()(Function Call): Access and update specific pixels using (row, col) coordinates+(Addition): Pixel-wise addition with overflow handling (modulo 256)[](Subscript): Access pixels using row-major indexing--(Decrement): Decrease pixel values with underflow handling (wraps to 255)<<(Stream Output): Output image in PPM format to any output stream
- Deep Copy Semantics: Proper memory management for image data
- Bounds Checking: Safe pixel access with error handling
- PPM Format Support: Industry-standard image format output
- Modular Arithmetic: Correct handling of RGB value overflow/underflow
- Double click on the "build.bat" batch file
- See contents of the batch file if want to compile manually