当前位置: 代码迷 >> 综合 >> 数字图像-频域处理
  详细解决方案

数字图像-频域处理

热度:32   发布时间:2024-01-14 23:30:20.0

冈萨雷斯第三版,频域处理代码示例:


% 低通滤波
clc, clear, 


I = imread('blown_ic.tif');
[r,c] = size(I);
subplot(331),imshow(I);title('Origin');


Id = padarray(I,[r,c],'post');
subplot(332),imshow(Id);title('pad array');


for i = 1:2*r
    for j = 1:2*c
        hp(i,j) = (-1)^(i-1+j-1);
    end
end
Ip = hp.*double(Id);
subplot(333),imshow(Ip,[]);title('shift array');


F = fft2(Ip);% padding of  H
subplot(334),imshow(log(1+abs(F)),[]);title('spectrum of F');


H = lpfilter('gaussian',2*r,2*c,50,1);% 
subplot(335),imshow(H,[]);title('H');


G = H.*F;
subplot(336),imshow(G);title('G=H.*F ');


gp = hp.*real(ifft2(G));% filtering
subplot(337),imshow(gp,[]);title('gp ');


g = gp(1:r,1:c);% cropped images
subplot(338),imshow(g,[]);title('g ');