Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Challenge Write a routine to rotate an image by 90 degrees. Copy your part III program, and replace the call to negatePGM with a call

Challenge

Write a routine to rotate an image by 90 degrees. Copy your part III program, and replace the call to negatePGM with a call to your rotate90PGM(...) function. Note that the #cols & #rows will change, although the actual pixel array will not. So, you'll need to pass #cols & #rows by reference, so the function can change them. Rotating in place is actually rather complex, so it is simpler to allocate a temporary array, copy the pixels to the temporary array, then move them back to their new locations.

Super Challenge

Modify your rotate90PGM function to rotatePGM, so it can rotate by 90, 180 or 270 degrees. You'll obviously need to pass in the degrees to rotate by, and have it do something sensible if the degrees passed is not evenly divisible by 90.

UberChallenge

Modify your rotatePGM to rotate the image to any arbitrary angle. A few helpful hints. First, you'll either need to write the results to a new, larger PGM image buffer, or else drop any pixels that are rotated to outside the original image size. Second, regardless of whether you expand the image or keep the same size, whenever the image is rotated by anything other than a multiple of 90 degrees, you'll have some pixels at the corners of the output image which do not come from any pixel in the input image; Set these either to black, white, or medium gray. Third, output pixels will generally come from non-integer pixel locations, and you'll have to decide how you want to handle that. An arbitrary-rotator will typically do a weighted average of the nearest pixels to create the output pixels, but you could also simply use either the nearest pixel or some other choice.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Information Modeling And Relational Databases

Authors: Terry Halpin, Tony Morgan

2nd Edition

0123735688, 978-0123735683

More Books

Students also viewed these Databases questions

Question

Explain the concept of careers and career paths.

Answered: 1 week ago

Question

Define span of management or define span of control ?

Answered: 1 week ago

Question

What is meant by formal organisation ?

Answered: 1 week ago

Question

What is meant by staff authority ?

Answered: 1 week ago

Question

Discuss the various types of policies ?

Answered: 1 week ago