Final Project Blog

Image Distortion

 project description

For my final project, I decided to make a program that would distort images. I used the webcam in my laptop to capture images and videos and distorted them in 5 different ways. For the photos, I had 4 distortion:

(1) Draw ellipses using the color of the pixel its located at to create a blurry effect. Moving the mouse across the screen can erase some of the pixels.

(2) Create a black and white image based on the difference in color between two pixels that are next to each other. Moving the mouse towards to right of the screen will intensify the effect and making the image darker.

(3) Enlarged pixels (square) are drawn at random spots and in inverse color as the original image. Moving the mouse across the screen can erase some of the pixels.

(4) Circles with the radius of 150 are drawn with the outer edge being more transparent and the inner being more opaque. Moving mouse across the screen will display the pixels.

For the video, I had one distortion where it creates a lagging effect. I manipulated the pixels so that they would get replaced by their adjacent pixel if the difference in color is greater than a certain value. Moving the mouse onto the film camera icon on the top left would switch the program into video mode, and placing the mouse anywhere else will cause it to back to photos distortion mode.

Originally, I wasn’t going to a camera to capture images in real time, but I thought doing so would make my program more interactive, therefore more fun. But due to this change, I ran into a lot of problems during the development process. Initially I wanted to add physics for the pixels in my image so they would disperse whenever the mouse is near. They worked for still images that I imported, but did not work for the video that my webcam is capturing. I had to abandon that idea and explored more on how to manipulate and distort images/video captured with webcam, and was able to do so. For the project, I learned a lot of new functions like “import processing.video.*”, “PImage”,”Capture”, etc. And I was very content with my end product.

Process sketches

proposed way of distortion in initial sketches
developing the distortions
initial starting screen
building the start screen
final starting screen

Video demo:

Bibliography:

  1. Molitor, O. (n.d.). Fundamental Fortitude. Retrieved November 26, 2018, from http://doc.gold.ac.uk/compartsblog/index.php/work/fundamental-fortitude/
  2. Foundation, P. (n.d.). Images and Pixels. Retrieved from https://processing.org/tutorials/pixels/