Fourier Transform

What We’ve Done and Learned

Using Matlab, a basic Fourier based compression algorithm was implemented with various compression ratios. This was accomplished by filtering all but the most important frequencies from the red, blue, and green arrays of the given image. The final compressed image output consisted of the width and height as 16 bit integers, an array of logical 0s and 1s corresponding to which locations on the 2D Fourier transform were kept and which were removed, and an array consisting of single precision complex values corresponding to the elements of the Fourier transform that were kept. Using this method, compression of 2X and 3X were achieved with loss. The results of this are shown below.

SunflowerOrig2Times_sun3Times_sun4Times_sun

This basic algorithm works surprisingly well, but the similarity begins to drop considerably after about a 3X compression ratio is reached. This is a good introductory method to understanding the basics of image compression, but other methods used proved to be far more effective.

Matlab Code

FrequencyCompression