Fourier Transform of Gaussian Kernel in Matlab
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Gobert
      
 el 12 de Abr. de 2022
  
Hi everyone,
I need your help!
I was reading a document on Discrete Fourier Transform and found the following example:

Here's the mentioned gaussian kernel:
g_k = (1/256)*[1 4 6 4 1;...
               4 16 24 16 4;...
               6 24 36 24 6;...
               4 16 24 16 4;...
               1 4 6 4 1];
As can be seen, the size of g_k or g(x,y) is 5 x 5 - while the size of G(u,v) is around 380 x 450
Can you please show me the Matlab code that can generate the above G(u,v) image or result?
0 comentarios
Respuesta aceptada
  Matt J
      
      
 el 12 de Abr. de 2022
        
      Editada: Matt J
      
      
 el 12 de Abr. de 2022
  
      If you download gaussfitn from 
then you can do,
g0=[1 4 6 4 1]';
params=gaussfitn((-2:2)',g0,[],{0,[],0},{0,[],0});
[A,mu,sig2]=deal(params{2:4});
sig=1/2/pi/sqrt(sig2);
fun=@(x) exp(-(x/sig).^2/2);
Gu=fun(linspace(-6*sig,+6*sig,450));
Guv=imresize(Gu'*Gu,[380,450]);
imshow(Guv);
0 comentarios
Más respuestas (1)
  Matt J
      
      
 el 12 de Abr. de 2022
        One could also do as below. This gives only an approximately Gaussian spectrum, however,
g_k = (1/256)*[1 4 6 4 1;...
               4 16 24 16 4;...
               6 24 36 24 6;...
               4 16 24 16 4;...
               1 4 6 4 1];
Guv=fftshift( abs(fft2(g_k,380,450)) );
imshow(Guv)
7 comentarios
Ver también
Categorías
				Más información sobre Image Processing Toolbox en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!







