4

周波数領域のガウス フィルターについて読みましたが、ここで理解できない点がいくつかあります。

  1. ガウス フィルターは常に正方行列になりますか?

  2. 1 の答えが「はい」の場合、画像が長方形の行列の場合はどうなりますか? Matlab では、画像を読み取り、それを使用fft2して空間ドメインから周波数ドメインに変換し、それからffshift集中化していました。私が欲しいのは、画像の周波数ドメインマトリックスをガウスフィルターマトリックスに掛けてから、を使用して結果を空間ドメインに変換することifft2ですが、ガウスフィルターマトリックスと画像の周波数ドメインマトリックスのサイズが異なるため、それらを一緒に乗算することはできません. (私はここでは使用conv2していませんfspectial)。

4

1 に答える 1

1

ガウス フィルターは、中心からの距離の関数であるため、実際には円形です。より便利なので、長方形の行列が使用されます。
サイズの違いを克服するためにできることは、フィルターをゼロ パディングすることです。

img = imread( imgFileName ); % read image, use gray-level images here.
IMG = fft2( img ); % Fourier of img
sz = size( img );
h = fspecial( 'gaussian', sz, sigma ); % create a filter with std sigma same size as img
H = fft2( h ); % Fourier of filter
F = IMG.*H; % filter in Fourier space
f = ifft2( F ); % back to spatial domain. 
于 2013-03-16T17:30:54.380 に答える