Image Filters

Lab 4

Thus far, you have designed your programs to perform a single task—print an ASCII pattern, calculate interest rates, etc. In this lab, you will create a single program with the ability to perform many different tasks. You will be creating a photo editor! This editor will be able to read in an image and apply a sequence of pre-defined image filters, as specified by the user. These filters include functions for inverting an image, flipping it, increasing or decreasing the contrast, etc. In addition to giving you practice writing larger programs, this lab is a chance to get truly comfortable with nested for loops, while loops, functions, and image manipulation.

Goals
  • Implement your first multi-component program
  • Practice writing functions
  • Become familiar with image manipulation
  • Get even more practice with nested loops
README

Honor Code Reminders:

  • Discussing high-level ideas with other students is encouraged, but only show your actual code to course staff (professors/lab helpers/tutors). The only exception is the warmup, which is to be completed in pairs.
  • Consulting online resources other than assigned reading or documentation provided by the lab instructions is prohibited. Course staff will be happy to answer any questions you have.
  • Use of generative AI for any reason is not allowed. This includes for both writing code and for debugging or reformatting code you wrote.

Instructions describing what commands are available for manipulating images can be found here.