%% 3D Fourier transzformáció (x-y-t) szerint bázisvektorai 
%clear
%close all

x = (1:640)'/640;
y1 = (1:480)'/480;

[X,Y] = meshgrid(x,y1);

fs = 25;
t = (0:1/fs:1);
first = true;

f = 5;      % Idõbeli frekvencia
u = 10;      % x-irányú térbeli frekvencia
v = 0;      % y-irányú térbeli frekvencia

field = exp(-1i*2*pi*v*Y).*exp(-1i*2*pi*u*X);
total_field = zeros(size(field));
figure
for n = 1:length(t)
    
        frame = field*exp(-1i*2*pi*f*t(n));
        total_field = frame;
    if (first)
        
        hp = pcolor(x,y1,real(total_field));shading interp
        axis equal tight
        caxis([-1,1])
        hold on
        xlim([x(1),x(end)])
        ylim([y1(1),y1(end)])
        first = false;
        colormap gray
    else
        set(hp, 'CData', real(total_field));
    end
    drawnow
end
%% Egyszerû vonal ábra 2D Fourier-transzformáltja

im = double(imread('vonal2.bmp'));
im = -im +1 ;
filt = hann(10)*hann(10)';
im = conv2(im,filt,'same');

figure
subplot(1,2,1);
imshow(im)
% pcolor(im);
% shading interp
% axis equal tight
% xlabel('x')
% ylabel('y')
% title('Függvény a helytartományban')

subplot(1,2,2);
pcolor((abs(fftshift(fft2(im)))));shading interp;

caxis([0,1e4])
shading interp
%axis equal tight
xlabel('u')
ylabel('v')
title('Függvény 2D Fourier-transzformáltja')
%%

im = imread('Cameraman-image.png');

figure
subplot(1,2,1);
imshow(im)

im = double(0.3*im(:,:,1)+0.59*im(:,:,2)+0.11*im(:,:,3));
% pcolor(im);
% shading interp
% axis equal tight
% xlabel('x')
% ylabel('y')
% title('Függvény a helytartományban')

subplot(1,2,2);
pcolor(abs(fftshift(fft2(im))));shading interp;

caxis([0,1e4])
shading interp
axis equal tight
xlabel('u')
ylabel('v')
title('Függvény 2D Fourier-transzformáltja')