【发布时间】:2014-02-16 13:21:00
【问题描述】:
我想在滤波器 sobel 和图像之间的频域中制作产品,但我无法获得 过滤后的图像我在这段代码中有什么问题
[A,B]=size(f);
%[C,D]=size(fspecial('sobel'));
h=fspecial('gaussian');
[C,D]=size(h);
hp=freqz2(h,size(f,2),size(f,1));
'%padarray(h,[ceil(((A-C)/2)) ceil(((B-D)/2))] );
'%hp=hp(1:254,1:256);
HP=fft2(hp);
HP=ifftshift(HP);
F=fft2(f);
G=HP.*F; % product of transfer function and image in frequency domain
g=real(ifft2(G));
imshow(g) % do not work
【问题讨论】:
-
' [A,B]=size(f); %[C,D]=size(fspecial('sobel')); h=fspecial('高斯'); [C,D]=尺寸(h); hp=freqz2(h,size(f,2),size(f,1)); '%padarray(h,[ceil(((A-C)/2)) ceil(((B-D)/2))]); '%hp=hp(1:254,1:256); HP=fft2(hp); HP=ifftshift(HP); F=fft2(f); G=HP.*F; % 传递函数和图像频域内的乘积 g=real(ifft2(G)); imshow(g) % 不工作'
标签: matlab image-processing filter fft