图像处理-FFT

来源:互联网 发布:龙猫 知乎 编辑:程序博客网 时间:2024/06/04 01:14
im = im2double( rgb2gray( imread('3.png')));% “im” should be a gray-scale floating point image
[imh, imw] = size(im);
fftsize = 1024; % should be order of 2 (for speed) and include padding
im_fft = fft2(im, fftsize, fftsize); % 1) fft im with padding
hs = 30; % filter half-size
fil = fspecial('gaussian', hs*2+1, 10);
fil_fft = fft2(fil, fftsize, fftsize); % 2) fft fil, pad to same size as image
im_fil_fft = im_fft .* fil_fft; % 3) multiply fft images
im_fil = ifft2(im_fil_fft); % 4) inverse fft2
im_fil = im_fil(1+hs:size(im,1)+hs, 1+hs:size(im, 2)+hs); % 5) remove padding




subplot(1,2,1)
imshow(im)
 
subplot(1,2,2)
imshow(im_fil)
 


figure(2)
subplot(1,2,1)
imagesc((abs(fftshift(fil_fft)))) 
 
subplot(1,2,2)

imagesc(log(abs(fftshift(im_fft)))), axis image, colormap jet



0 0
原创粉丝点击