Предположим, что пиксель является круглым в быстром преобразовании Фурье - PullRequest
0 голосов
/ 24 июня 2019

Я пытаюсь вычислить голограммы с помощью итерационного алгоритма, который применяет БПФ. Голограммы рассчитываются на основе квадратных сигналов (пикселей). Я хочу вычислить БПФ по сигналу (пикселю), но хочу, чтобы его БПФ было БПФ кругового «пикселя».

Что я пытался сделать дальше, так это взять голограмму 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 из квадратного сигнала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...