fft2 puts the origin at the upper left and then positive frequencies go to the lower right from there, and negative frequencies to the upper left from the bottom right pixel. Use fftshift() and I think you'll solve that problem.
By the way, convolving with a delta function should give you the same as your input image, except for some quantization errors perhaps.
