An application made to perform processing operations on images as part of the CSI_5_OOP_2021 (Object Oriented Programming) module at LSBU (London South Bank University). The majority of the code was provided by the module leader where I have been tasked to:
- Move each operation to an individual class
- Create a common interface or abstract class that all individual operation classes descend from
- Automatically add all operations to the operations menu in the application
- Link the menu operations to code that executes the operation
- Use a factory class to instantiate each operation
- Pass a factory class instance to the ImageProcessor constructor to populate the menu items under operations
Implement the following operations with their interfaces then add them to the factory so that a user can set them in the application
- Negative: inverts the colours in the image
- Threshold: converts an image to strict black and white only when provided with a threshold value
- Blend: blend two images together mixing them with an alpha value