MATLAB: Convolution in Fourier domain

fft

Hello! I wanna implement 2D convolution using fft2 in such way:
F=fft2(im2double(imread('cameraman.tif')));
H=fft2(fspecial('motion',15,5));
G=F.*H;
But F and H are not the same size.. How to do this correctly?

Best Answer

One possibility would be to zero-pad the smaller image so it is the same size as the larger one.
From the documentation:
  • Y = fft2(X,m,n) truncates X, or pads X with zeros to create an m-by-n array before doing the transform. The result is m-by-n.