Image Processing

Median Filter Image Noise Removal

Original - left, Filtered - right
House with Noise       House
Removes noise from images. Iterates over an image and using a variable-sized sliding window, replaces each pixel with the median pixel value of the values in the box.


Moon       Moon Thresholded

Girl Face       Girl Face Thresholded
Converts a grayscale image into a binary image (strictly black & white). Uses a threshold value and converts pixels in the image to either black or white depending on which side of the threshold the pixel's intensity falls in.

Region Growing

Girl Face       Girl Face Thresholded with Region Growing
More sophisticated thresholding algorithm that starts at a seed pixel and grows the thresholded region from that seed based on neighboring pixels being within a threshold or not.


Original       Erode 1       Erode 2       Erode 3       Erode 4       Erode 5

Original       Dilate 1       Dilate 2       Dilate 3       Dilate 4       Dilate 5 Erosion progressively eats away at the white in an image while dilation progressively grows the white. Erosion is performed by running a stencil through an image and creating the eroded image based on pixels that FIT the stencil. Dilation is done the same way but more lenient by creating the image based on pixels that HIT the stencil (don't have to match the stencil).

Letter Detection

Letter Detection - E
Detects specific letters in an image by first cleaning up the image with various morphological operations and then running a stencil through the image and highlighting matches.

Edge Detection

Inital Image       Canny Edge Map
Implementation of the Canny Edge Detector. Detects edges in images based on image gradients. These edges are then thinned using a non-maximal suppression technique. Finally, extraneous edges are thrown out while the true edges are grown in their proper directions using hysteresis thresholding.

Seamless Image Blending

Images without blending       Blended Image

Images without blending       Blended Image
Application that allows for seamless blending from one image to another by automatically adjusting the colors to smoothly flow between the images. Technique is based off of the 2003 research paper Poisson Image Editing by Perez, Gangnet, and Blake.