Project 3 - Fun with Frequencies

By Anthony Sutardja

This project tinkers with images in the frequency domain. I use the approximations of the Laplacian of a Gaussian and Gaussian filters to filter the images.

Sharpening

In order to sharpen images, I used the technique described in class: increasing sharpness by adding a multiple (here described as alpha) of the "detail portion" of the image, which is the original image subtracted from a gaussian filtered version of the image.

(Top left: original image; Top right: sharpen with alpha @ 0.3; Bottom left: sharpen with alpha @ 0.5; Bottom right: sharpen with alpha @ 0.9)

Hybrid Images

The hybrid images are a composite of two images: one image is modified with a low-pass filter (Gaussian) and the other is modified with a high-pass filter (Laplacian of a Gaussian). I used a box appproximation of both of these filters.

Jesus Colbert

The frequency plots of both the original Jesus and Colbert images are shown below.

I applied the low-pass Gaussian filter to the Jesus image, and the high-pass Laplacian of the Gaussian filter to the Colbert image. I chose to approximate cutoff frequencies with $$f_c = \sigma_c = \frac{1}{2 \pi \sigma}$$. From the frequency plots of the filtered images below, we can see that the low-pass and high-pass filters worked on each image. The hybrid image is then combined together with different weightings. My best result is presented below. From up close, you can see the sharp outlines of Stephen Colbert, but from far away you can only see Jesus. Other hybrid images didn't work out as well as the Colbert Jesus hybrid. Colbert Jesus worked out so well because the silhouettes of the two different images align very well. The other images didn't work out as well because they were just so vastly different from each other. Surfer meets Cal logo Cat Person Tony Wu meets Panda Gaussian & Laplacian Stacks Salvador Dali's Lincoln Painting Colbert Jesus The Gaussian and Laplacian stacks for my favorite image clearly distinguishes the separate images of Stephen Colbert and Jesus. Multiresolution Blending (Spline) My implementation of multiresolution blending uses Laplacian and Gaussian stacks (rather than pyramids). Space Desert Both images are processsed into a 5 level Laplacian stack, with each level using a larger and larger sigma. The sigma corresponds to the Gaussian that is used to approximate the Laplician (recall that I approximate the Laplacian by subtracting the Gaussian filtered image from the original image). The next step is to create a Gaussian stack of the image mask. A laplacian stack of the splined image is then composited based on the weighting from the filtered image mask for each level in the stack: $$LN(i, j, d) = mask(i, j, d) * LA(i,j,d) + (1 -mask(i, j,d)) * LB(i,j,d)$$ where $$LN$$ is the new Laplacian stack, $$LA$$$and $$LB$$$ are the Laplacian stacks of the images that we want to blend, and $$d$$\$ is the level of the stack.

The result is a blended image:

Bells and whistles

Color multiresolution blending

See the multiresion blending images to see the results.

While creating the Gaussian stacks (which is used by the Laplacian stacks), I padded the images with a reflected portion of the image. The program then automatically crops the images down to the original size.

References

Picture sources

• http://imagesci.com/img/2013/12/planet-earth-from-space-2705-hd-wallpapers.jpg
• http://500px.com/photo/84429643/chuysky-trakt-in-kurai-steppe-by-vyacheslav-maslov
• http://500px.com/photo/84428591/twin-by-mang-day-
• http://500px.com/photo/84429521/morning-glory-morning-by-daniel-ripplinger
• http://www.sports-logos-screensavers.com/user/California_Golden_Bears2.jpg
• http://cdn.theatlantic.com/static/infocus/surf091411/s01_20153614.jpg
• http://images6.fanpop.com/image/photos/34900000/Cute-Panda-Bears-animals-34915025-2560-1600.jpg