光学傅里叶变换MATLAB实现
时间: 2024-10-10 14:00:56 浏览: 20
光学傅里叶变换(Optical Fourier Transform, OFT)是一种将光波信号从空间域转换到频域的数学工具,常用于光学图像处理和通信领域。在MATLAB中,可以利用其内置函数`fft`(快速傅立叶变换)或`ifft`(逆快速傅立叶变换)来实现光学傅里叶变换。
以下是一个简单的例子:
```matlab
% 假设我们有一个二维光学图像I(x,y)
I = imread('example_image.jpg'); % 替换为实际图像文件名
% 对图像进行傅里叶变换
F = fft2(I); % 使用fft2计算频率域数据
% 获取原尺寸的频谱图
F_mag = abs(F);
F_phase = angle(F);
% 可以通过下面的步骤查看变换结果
figure;
subplot(2,2,1), imshow(I, 'InitialMagnification', 'fit'), title('Original Image');
subplot(2,2,2), imshow(log(F_mag + eps), 'InitialMagnification', 'fit'), title('Magnitude Spectrum');
subplot(2,2,3), imshow(angle(F) / pi, 'InitialMagnification', 'fit'), title('Phase Spectrum');
subplot(2,2,4), imshow(ifftshift(ifft2(F)), 'InitialMagnification', 'fit'), title('Inverse FFT');
阅读全文