假设像素在快速傅立叶变换中是圆形的

时间:2019-06-24 18:19:42

标签: python matlab fft pixel

我正在尝试通过应用FFT的迭代算法来计算全息图。尽管基于正方形信号(像素)来计算全息图。我想根据信号(像素)计算FFT,但我希望它的FFT是圆形“像素”的FFT。

香港专业教育学院到目前为止一直在尝试拍摄64x64像素的全息图,将其放大31倍(1984x1984),然后创建一个以像素为中心的圆。

我想避免重新缩放。  尽管重新缩放后的图像尺寸越小,圆的准确性就越差。

I=imread('MM.bmp'); I=imresize(I,[64 64 ],'Method', 'nearest');
I=I./max(max(I)); 
avg1=mean(mean(I));
I1=I;
ph=rand([size(I,1),size(I,2)]);
U=I1.*exp(1j*ph);

for n=1:700
        n1=n1+1;
U1= fftshift(fft2(fftshift(U)));
U2=fftshift(ifft2(fftshift(exp(1j*angle(U1)))));
avg2=mean(mean(abs(U2)));
U3=(U2./avg2).*avg1;
U=I.*exp(1j.*angle(U3));
end
imwrite(angle(U1), 'HOLOGRAM.jpg')

当我将fft用于像素信号时,我想从平方信号中获得一个圆的fft,而不是sinc函数。

0 个答案:

没有答案