diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussdiff_of_gauss (算子)

名称

diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussdiff_of_gauss — 近似LoG算子(高斯拉普拉斯)。

签名

diff_of_gauss(Image : DiffOfGauss : Sigma, SigFactor : )

Herror diff_of_gauss(const Hobject Image, Hobject* DiffOfGauss, double Sigma, double SigFactor)

Herror T_diff_of_gauss(const Hobject Image, Hobject* DiffOfGauss, const Htuple Sigma, const Htuple SigFactor)

void DiffOfGauss(const HObject& Image, HObject* DiffOfGauss, const HTuple& Sigma, const HTuple& SigFactor)

HImage HImage::DiffOfGauss(double Sigma, double SigFactor) const

static void HOperatorSet.DiffOfGauss(HObject image, out HObject diffOfGauss, HTuple sigma, HTuple sigFactor)

HImage HImage.DiffOfGauss(double sigma, double sigFactor)

def diff_of_gauss(image: HObject, sigma: float, sig_factor: float) -> HObject

描述

diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussDiffOfGaussdiff_of_gauss approximates the Laplace-of-Gauss operator by a difference of Gaussians. The standard deviations of these Gaussians can be calculated, according to Marr, from the Parameter SigmaSigmaSigmaSigmasigmasigma of the LoG and the ratio of the two standard deviations (SigFactorSigFactorSigFactorSigFactorsigFactorsig_factor) as:

For a , according to Marr, an approximation to the Mexican-Hat-Operator results. The resulting image is stored in DiffOfGaussDiffOfGaussDiffOfGaussDiffOfGaussdiffOfGaussdiff_of_gauss

注意

请注意,若使用域缩减后的图像作为输入,滤波器算子可能会返回意外结果。请参阅 滤波器 一章

执行信息

参数

ImageImageImageImageimageimage (输入对象)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte / uint2)

Input image

DiffOfGaussDiffOfGaussDiffOfGaussDiffOfGaussdiffOfGaussdiff_of_gauss (输出对象)  (multichannel-)image(-array) objectHImageHObjectHImageHobject * (int2)

LoG image.

SigmaSigmaSigmaSigmasigmasigma (输入控制)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Smoothing parameter of the Laplace operator to approximate.

默认值: 3.0

建议值: 2.0, 3.0, 4.0, 5.0

最小增量: 0.01

建议增量: 0.1

限制: Sigma > 0.0

SigFactorSigFactorSigFactorSigFactorsigFactorsig_factor (输入控制)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Ratio of the standard deviations used (Marr recommends 1.6).

默认值: 1.6

最小增量: 0.01

建议增量: 0.1

限制: SigFactor > 0.0

示例(HDevelop)

read_image(Image,'fabrik')
diff_of_gauss(Image,Laplace,2.0,1.6)
zero_crossing(Laplace,ZeroCrossings)

示例(C)

read_image(&Image,"mreut");
diff_of_gauss(Image,&Laplace,2.0,1.6);
zero_crossing(Laplace,&ZeroCrossings);

示例(HDevelop)

read_image(Image,'fabrik')
diff_of_gauss(Image,Laplace,2.0,1.6)
zero_crossing(Laplace,ZeroCrossings)

示例(HDevelop)

read_image(Image,'fabrik')
diff_of_gauss(Image,Laplace,2.0,1.6)
zero_crossing(Laplace,ZeroCrossings)

示例(HDevelop)

read_image(Image,'fabrik')
diff_of_gauss(Image,Laplace,2.0,1.6)
zero_crossing(Laplace,ZeroCrossings)

复杂度

The execution time depends linearly on the number of pixels and the size of sigma.

结果

diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussDiffOfGaussdiff_of_gauss 在所有参数正确时返回 2 ( H_MSG_TRUE )。 如果输入为空则可设置行为通过 set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)。如有必要,则抛出异常。

可能的后继

zero_crossingzero_crossingZeroCrossingZeroCrossingZeroCrossingzero_crossing, dual_thresholddual_thresholdDualThresholdDualThresholdDualThresholddual_threshold

替代

laplacelaplaceLaplaceLaplaceLaplacelaplace, derivate_gaussderivate_gaussDerivateGaussDerivateGaussDerivateGaussderivate_gauss

参考文献

D. Marr: “Vision (A computational investigation into human representation and processing of visual information)”; New York, W.H. Freeman and Company; 1982.

模块

基础