How can I use fft2 and ifft2 to calculate the cross correlation of two images
2 views (last 30 days)
Show older comments
I have two images and their sizes are different. How can I use fft2 and ifft2 to calculate the cross correlation of these images?
0 Comments
Answers (1)
Sreeram
on 14 May 2025
Hi Wayne,
Before computing the cross-correlation, both images need to be zero-padded to the same size. This ensures that the frequency-domain multiplication is valid and that the result captures the full cross-correlation.
Once the images are appropriately padded, you can compute the cross-correlation using:
c = ifft2(fft2(X) .* conj(fft2(Y)));
where X and Y are the zero-padded versions of the original images.
I have used the approach described in this article for one of my own projects and found it very effective for template matching:
I think you'll find it helpful as well.
0 Comments
See Also
Categories
Find more on Fourier Analysis and Filtering in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!