Project 1: Image Filtering and Hybrid Images

Image Filtering.

I implemented my_imfilter() which imitates the default behavior of the built-in imfilter() function. It has the following features:

  1. supports grayscale and color images.
  2. support arbitrary shaped filters, as long as both dimensions are odd.
  3. pads the input image with zeros.
  4. returns a filtered image which is the same resolution as the input image.

My algorithm is as follows:

Hybrid Images.

I used Gaussean filters and experimented with multiple values for the cutoff_frequency. Algorithm for this part is pretty straight-forward:

Results!

Low cutoff freq = 7; High cutoff freq = 7
Low cutoff freq = 8; High cutoff freq = 5
Low cutoff freq = 5; High cutoff freq = 3
Low cutoff freq = 10; High cutoff freq = 8
Low cutoff freq = 3; High cutoff freq = 6
Custom Hybrid: Russell Brand + Jack Sparrow
Low cutoff freq = 8; High cutoff freq = 5

THANK YOU!