Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

.  The negative filter basically subtracts the rgb values from 255 individually.  Intuitively, this filter would basically witch the RGB values upside-down.  In other words, the bright colors would turn dark and vice versa.  

For the following extensions,

  • Do something more interesting than a single color to replace the blue screen.
  • Place yourself in a scene. Start with a background scene that is the same size image as your blue-screen image. Then copy only non-blue pixels from your images into the background. You can do this by making a version of placeImage that copies only non-blue pixels. You could call it placeImageWithoutBlue.

I created two more filters to manipulate the background of my own image.  Again, the conditional statement and filter are the key.  

Image Added.  For this image, I manipulate the very-green pixels to have random values of RGB.Image Added.  Simple but interesting effect.

Image Added.  This image is a bit more complicated than a simple filter function.  Rather than manipulate the background pixels, I actually copied the non-green pixels to the source image, the X-ray image.  Thinks of this as combination of placeImage and filter function.  

Note that the conditional statement I used for this image is the opposite of what I wrote for blue screen effect.  The reason is that the pixels I am targeting are the exact opposites.Image Added.

 

Reflection:  This project was very tough initially without understanding how Zelle graphics works.  The lab does give a foundation for the project; however, understanding of graphics library is a 'must.'  What I mean by that is that I needed to understand the process of creating image, selecting certain pixels, giving certain color to those pixels, applying filters to different images, and placing those filtered images to one image using functions I created through the project.  I think this holistic understanding was essential to completing this project.

Sources, imported libraries, and collaborators: I did not borrow anyone's code for this project; however, I got extensive help from professor Skrien and Selim, one of the TAs.