Computer Sciences Dept.

Image Processing

Description

This was the first project in the computer graphics course at the UW Madison. The goal was to create three programs. The first was called blur and blured and image using a specified radius and convolution kernel. The second was called resize and resized an image to a specified width and hight using a specified convolution kernel. The third was called painting and converted the input image into an expressionist painting using a set of template brushes.

In each of the first two applications it was also possible to specify how the boundry of the picture should be handled.

As of this point in time, only the .tga format is supported by these programs.

Challenges

The biggest challenge of this assignment was in understanding exactly how the input stream was to be sampled (i.e. how wide should the filter be). This was very prevailent in the resize application.

Results

The following are images produced by the blur application using a radius of 10 pixels and using renormalization to handle the boundries.

Original Box filter Tent filter BSpline filter

The following are images produced by the resize application. The original image was resized to 300 by 300 pixels.

Original Box filter Tent filter BSpline filter

The following is the image produced using the painting application. the original is on the left while the output is on the right.

Original Painting

Source

The source code for this project is release under the GPL. Installation instructions are included with the code as well as a copy of the GPL license.

Source cs559ImageProcessing.zip

 
Computer Sciences | UW Home