下の画像では、画像のフーリエ変換を計算しました。ここで、DO=50 を使用して同じ画像に理想的なハイパス フィルターを適用したいと考えています。フーリエ変換のコードは画像に記載されています。
1336 次
1 に答える
1
理想的なハイパスフィルターがわかりません。ですから、HPF は円形のフィルターであると仮定しました。これは私のコードです。
lena = im2double(rgb2gray(imread('lena.bmp')));
D0 = 50;
lpf = zeros(size(lena));
base_x = linspace(-size(lena,1)/2,size(lena,1)/2,size(lena,1));
base_y = linspace(-size(lena,2)/2,size(lena,2)/2,size(lena,2));
[x,y] = meshgrid(base_x, base_y);
lpf(x.^2+y.^2<D0^2) = 1;
hpf = 1-lpf;
LENA = fftshift(fft2(lena));
RESULT = LENA.*hpf;
result = abs(ifft2(RESULT));
figure, imshow(result,[])
まず、1-LPFを使ってHPFを作ります。(LPF' の形状は円です。) そして、画像に HPF をピクセル単位で乗算します。最後に、IFFT IMAGE.
上記のコードを実行すると、この結果が得られます。
オリジナル画像
HPF画像
結果画像
于 2013-10-28T07:52:58.220 に答える