Image enlargement using a Fourier transform

Now one wishes to enlarge the following image, from 256*256 pixels to 512*512 pixels:

 Inital image (256*256 pixels) & its Fourier transform

First, one calculates its FT, which consists in an array of 256*256 cells containing the corresponding Fourier coefficients.

Then, one can copy this FT in the centre of an array of 512*512 cells, all other cells being set to zero (in fact one copies only the (N-1)*(N-1) Fourier coefficients of lowest resolution, neglecting those at the Nyquist frequency, in order to keep the F(-h,-k)=F*(h,k) symmetry):

 FT of the original image  de l'image initiale embedded in a 512*512 cells array

The inverse Fourier transform of this new complex numbers array is then an image of 512*512 pixels, two times larger than the original one:

 512*512 pixels image obtained by inverse FT of the embedded FT

The interest of this method compared to the simpler procedure consiting in increasing the pixel size by a factor of two is that the aesthetic aspect of the enlarged image is better (softer) using the Fourier transform, pixels being less visible:

 Comparison of the enlargement obtained by FT (left) and by multiplying the pixel size by a factor of two (right)

However, it should be noted that the enlarged image obtained by this procedure does not contain more details than the original one, since the high resolution Fourier coefficients (edges of the FT) were set to zero (the highest h & k indices corresponding to non-zero Fourier coefficients were not changed compared to the original image).