$25
You are expected to extend PA2 according to the following descriptions:
- Change image data storage to dynamic allocations. (If you have used vectors, now you have to create dynamic arrays for image storage)
- Modify the main program menu so that it is possible to open(load) two image files.
- Add a tool which sums two images (pixel by pixel addition of each color channel) Yo can assume that image dimensions match. After the use of this tool, another image is created in the memory. The two input images are not effected(i.e. they are constants). Implement this tool using operator overloading "+". This tool should be selectable in the tools menu.
- The grayscale tool in the tools menu now need another dialog for image selection. Make the necessary changes.
- In general terms, your program will have an image class. The data is dynamically allocated. It will have several members, constructors, destructors, operator+, assignment operator, copy constructor. You can add more methods if needed.
- Modify the main menu according to your needs. For example, saving an image now requires a menu so that the user can choose one of the images stored in the memory. You will need to represent images with unique identifiers(You can choose to represent input images with their file names) You can choose to represent the modified image with "new image" or any other string which is meaningful.