[SOLVED] CENG391 Homework 1

30.00 $

Category:
Click Category Button to View Your Next Assignment | Homework

You will receive the following solution file(s) instantly after successful payment:

zip file icon 1-9lqf28.zip (122 KB)
Assignment Instructions Updated Recently? Submit Below and we will provide new Solution!
Submit New Instructions
πŸ”’ Securely Powered by:
Secure Checkout
Rate this product

 

Download and extract the contents of ceng391 02T image formation.tar.gz.

Exercise 1 Color Support for the ceng391::Image Class

Modify the contents of the Image::write pnm function so that instead of writing an error message for RGBA images, it saves the image contents in the binary PPM format. Hint: You should only write the RGB values into the file. The alpha values should not be saved. This means you will need two loops instead of one.

Exercise 2 Loading PNM Images

Write a new member function Image::read pnm that takes a std::string argument named filename. The function should try to open the file with the given name and read its contents if its contents are in the PGM or PPM binary formats. When reading color images, remember to create a four channel RGBA image. You should read the RGB values from the file and initialize all alpha values to 255.

Exercise 3 Color Conversion

Write two new member functions Image::to grayscale and Image::to rgba, that converts the image contents from grayscale to RGBA and vice versa.
If the image is already of the target format the functions should return immediately.

To convert from grayscale to RGBA, just copy the gray value to all the color and alpha channels. To convert from RGBA to grayscale, you can use the following set of formulas:

IGray(x, y) = IRed(x, y) βˆ— 0.3 + IGreen(x, y) βˆ— 0.59 + IBlue(x, y) βˆ— 0.11; Before writing back the grayscale value, you should check for underflow and

overflow and you should discard the alpha values. 1

  • 1-9lqf28.zip