Imagegram

imagegram.py: 38 points


In this lab, you will be writing a single program called imagegram.py. The purpose of the program is to allow the user to add different filters to an image. The user should first be prompted to enter a file name. That file should be loaded and displayed. Then the user should be presented with a list of filters that can be applied.

Your program should be capable of the following operations:

  1. Make Negative
  2. Make Grayscale
  3. Flip Vertically
  4. Scroll Horizontally
  5. Zoom
  6. Your choice of: Blur, Posterize, Increase Constrast, etc.

Below are examples of these filters applied to the crayons.jpg image that you will find among your replit files. In addition to applying these filters individually, your implementation should allow filters to accumulate on top of one another as you saw with Grayscale and Vertical Flip in the Warmup. Think about how you can make sure that the output from applying one filter can be used as the input to another.

Original Image

In the following parts of this lab, we will walk through the different filters that you will be implementing. Let’s begin by creating the menu that will control the flow of our program.