15.6. Chapter 15 Exercises¶
Below is a selection of images that you can use in the programs in this section.
beach.jpg | baby.jpg | vangogh.jpg | swan.jpg |
puppy.jpg | kitten.jpg | girl.jpg | motorcycle.jpg |
gal1.jpg | guy1.jpg | gal2.jpg |
Note
Remember that it can take a bit of time to process all the pixels in a picture! Check for errors below the code if it is taking a long time, but if you don’t see any errors just wait.
Make changes to 10 lines in the code below so that it runs. It changes areas that look red in the original to green.
Fix the code below so that the red in the picture gets changed to blue.
Fix the indention in the code below so that it runs correctly. It does a primitive form of edge detection by getting all of the pixels (except for the last row) and all the pixels to the right of those and determining if the difference between the average of the rgb values for the pixel and the pixel to the right are substantially different.
Fix and change the code to change just the background color from white to gray.
Fix the indention in the code below so that it runs correctly. It posterizes a picture which means that it reduces all the colors in a picture to a small number of colors – like the ones you might use if you were making a poster..
Fix the indentation so that the code puts the motorcycle on the beach. The code checks if the pixel isn’t white in the first image, and if it’s not, it places that pixel in the same location on the second image.
Fix 5 errors in the code below. It will copy the non-white pixels from gal1.jpg to guy1.jpg.
Fix the 5 errors so that a swan in shown on a beach.
Change the code below to use
if
andelse
rather than twoif
statements per color. It posterizes an image.Fix the indentation in the code and change it so that it edges the motorcycle but the background is black and the motorcycle edging will be white.
Change the following code into a procedure. It posterizes an image. Be sure to call it to test it.
Fix the 5 errors in the procedure so that it edges the motorcycle which means the image should only have 2 colors. The motorcycle should be one color, everything else should be the other color.
Change the following into a procedure. It changes areas that are mostly red looking to green. Be sure to call it to test it.
The code below currently makes the picture gray. Change it so that it posterizes (reduce the number of colors) the image instead.
Write the code to posterize a picture but use 3 values for each color instead of 2. Use 0 if the current value is less than 85, use 85 if the value is less than 170, else use 170.
Fix the errors in the code and change the code to use if’s and else’s instead of just if’s.
Write the code to do edge detection on a picture, but compare the curent pixel with the one below it rather than the one to the right.
Write a procedure that takes an image as a parameter and edges it using the colors blue and white.
Write a procedure to remove the red on very red pixels (pixels that have a red value greater than 200 and a green and blue value of less than 100).
Write a procedure that takes a picture as a parameter and converts all the red to grayscale.