我正在尝试通过应用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函数。