0

Image Processing Toolbox 関数の使用を必要とする MATLAB スクリプトを使用しようとしていますfspecial()

Image Processing Toolbox は持っていませんが、フィルターを作成するための一連のツールを含む Signal Processing Toolbox は持っています。悲しいことに、私はフィルターの作成についてほとんど無知であり、Signal Processing Toolbox のフィルター作成ツールを使用して次のコード行を複製できるかどうかを判断する助けが得られるかどうかを調べています。

fspecial('gaussian', [5 1], 0.75)
4

1 に答える 1

1

fspecial()ユーザー指定の 2 次元フィルター関数のセットを作成し、既定値のセットを提供します。

次の関数は、同等の 2D ガウス関数を生成します。fspecialオプションで実行した場合の実装でもあります'gaussian'.

あなたの例では、それを呼び出すことができh = gaussian2D([5 1], 0.75);ます。

%% 2D Gaussian filter
function h = gaussian2D(siz, std)

% create the grid of (x,y) values
siz = (siz-1)./2;
[x,y] = meshgrid(-siz(2):siz(2),-siz(1):siz(1));

% analytic function
h = exp(-(x.*x + y.*y)/(2*std*std));

% truncate very small values to zero
h(h<eps*max(h(:))) = 0;

% normalize filter to unit L1 energy 
sumh = sum(h(:));
if sumh ~= 0
    h = h/sumh;
end
于 2013-03-15T23:31:26.130 に答える