You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
This shifts cyclically shifts an image or other 2D matrix by an arbitrary number of pixels (which can be fractional). I haven't tested it much but the code is very short so it should be easy enough to adapt.
Usage:
y = FourierShift(x, [delta_x delta_y])
x is the input matrix. y is the output. delta_x and _y are the shift amounts in each dimension.
It takes about 1s to run for a 1024x1024 image on my PC. There are faster ways to shift images, but probably not any simpler sub-pixel methods.
Cite As
Tim (2026). 2D Fourier shift (https://uk.mathworks.com/matlabcentral/fileexchange/23440-2d-fourier-shift), MATLAB Central File Exchange. Retrieved .
General Information
- Version 1.1.0.0 (1.54 KB)
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
