Image Convolutions
--some examples of image convolution--


Below are some samples of images that have been convolved using various convolution filters. The original image (a photo of our office) was taken, in color, using the Orbitview Logitech camera, and some modifications to its open-source code allowed the images to be printed, pixel by pixel. I wrote code to transform the image to grayscale by averaging the RGB values for each pixel, and then perform various transformations using common convolution filters. (The black borders around the edges of the Gaussian convolutions are a result of using larger kernels, which does not allow the filter to move all the way to the edge of the image.) The values of the convolution filters can be seen beneath each image, and the actual convolution code (C++) can be found here.

original image

sharpened edges: {0,-1,0,-1,5,-1,0,-1,0}

embossed: {-2,-1,0,-1,1,1,0,1,2}
line detection: {-1,-1,-1,-1,8,-1,-1,-1,-1}
edge enhancement: {-1,0,0,0,1,0,0,0,0} gaussian blur: window size=7, &sigma=1.5
gaussian blur: window size=7, &sigma=5 difference of gaussian: window=7, &sigma=1.0, &sigma=1.6