/ / fspécifiques alternatives pour le filtre gaussien - matlab, filtre, traitement du signal, gaussien

fspeciales alternatives pour filtre gaussien - matlab, filtre, traitement du signal, gaussien

J'essaie d'utiliser un script MATLAB nécessitant l'utilisation de la fonction Image Processing Toolbox. fspecial().

Je n'ai pas la boîte à outils de traitement d'image, maisSignal Processing Toolbox contient une suite d’outils pour la création de filtres. Malheureusement, je suis en grande partie ignorant en matière de création de filtre et je cherche à savoir si je peux obtenir de l'aide pour déterminer si je peux répliquer la ligne de code suivante à l'aide des outils de création de filtre de la boîte à outils de traitement du signal:

fspecial("gaussian", [5 1], 0.75)

Réponses:

1 pour la réponse № 1

fspecial() crée un ensemble de fonctions de filtrage bidimensionnel spécifiées par l'utilisateur et fournit un ensemble de valeurs par défaut.

La fonction suivante produira la fonction gaussienne 2D équivalente. C’est aussi la mise en œuvre dans fspecial lorsqu'il est exécuté avec l'option "gaussian".

Vous pouvez l'appeler par h = gaussian2D([5 1], 0.75);, pour votre exemple.

%% 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