gaussdx2.m

来自「适用于matlab环境的源代码」· M 代码 · 共 23 行

M
23
字号
function GaussKernel_2D = GaussDx2(GDsize, mu, sigma, sigma_width)
% Function GaussKernel_2D = GaussDx2(GDsize, mu, sigma, sigma_width) computes
% 2D Gaussian Derivative 
%INPUTS:
%   GDSIZE      - size of Gaussian kernel.
%   MU          - mean of the Gaussian
%   SIGMA       - standard deviation of a Gaussian function
%   SIGMA_WIDTH - defines where to cut the Gaussian kernel tail (or width of the kernel in sigma).
%   Bigger number- more of Gaussian included in the kernel. Defaul value= 3 or 98% of Gaussian 
%
%OUTPUT:
%   GAUSSKERNEL_2D - derivative kernel used by  plus_filt2D.m, sdged_filt2D.m

sigma_width = ceil(sigma_width * sigma);
x = linspace(-sigma_width, sigma_width, GDsize); 

Gaussian = exp(- 0.5*(((x - mu)/ sigma) .^2)) /(sigma * realsqrt(2 * pi)); 
Gaussian = Gaussian / sum(Gaussian); % normalize the sum of samples to 1

GaussKernel_1D = (mu - x) .* Gaussian / sigma^2;
GaussKernel_1D  = GaussKernel_1D  /sum(GaussKernel_1D .* (mu-x)); % normalize kernel
GaussKernel_2D = conv2(GaussKernel_1D, Gaussian', 'full');

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?