CS 534 Final Project

This is an interative photobooth that provides users with multiple filtering effects

Project Report Download

Photo to sketch

Transform user photos into pencil drawings

Photo to cartoon

Turn input images into cartoon-like images

Photo to pop art

Convert phorography into pop art pictures


Image filtering is popular and frequently used by people sharing photos on social media. Snapchat, Instagram, Facebook, and countless other apps and websites can be used to achieve the desired effects. When choosing a project to work on, we were motivated by the prevalence of image filtering and chose to create a program that would allow users to upload a photo and add a custom filter to it. We drew our inspiration from the Photo Booth for macOS program, originally released on October 2005. This program was chosen due to its variety of filters for users to put on their images, including both color and style transformations.

Number of filters


Lines of codes


Image to sketch

The sketch filter has a process of several stages that can be seen in Figure 2.The original image is used to make a gradient and a tone map. From the gradient, the stroke map is created. This map is used to determine how thick the outline of contents of the image will be. It allows for the final image to contain a well detailed depiction of the original image.

The tone map is combined with a image of pencil texture in order to create the sketch-like result. This image is called the pencil map, as it used as the background of the final image. Finally, the stroke map and the pencil map are combined to create the final image. The details from the original picture are maintained throughout the process in order to not lose the objective of creating a well-drawn image of the contents.


Image to cartoon

The cartooning filter was created using the method described in Holger’s Real-Time Video Extraction paper (2006). To achieve the effect, first a bilateral filter was applied to the image for a user-specified number of times. The bilateral filter serves to blur local contrast of pixels while preserving the contrast between strong edges. We left the intensity of the effect up to the user so they could determine the amount of overall blurriness.

The next step is color quantization. This too was left up to user specification to determine how many colors were allowed in the image, which varies the level of detail. Then, an edge map is calculated and added to the image to give a black outline to the edges of the image.

Take a Look

Image to pop art

The pop art filter was created based off of results from the cartooning filter inspired by Andy Warhol’s Marilyn Diptych work. First, the user selects 4 RGB color values. Then the image is cartoonized and converted to a binary black and white image. Then, the image is duplicated so that there are four images, and the white areas of each image are filled with the chosen RGB colors.


Photo Booth GUI

After all the filter functions are implemented, we created a Matlab GUI that incorporates all these functions. Users can directly interact with different filtering functions by loading input images.

Team Members

UW-Madison Class of 2018

Alayna Truttmann


Bryan Suzan


Chao Li


The filter parts were done by Alayna and Brayn. Chao implemented the GUI and this webpage. As a team, we are grateful for Professor Dyer's suggesstion and help with setting up this page

Subscribe our newsletter
Stay updated with our progress!