diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussdiff_of_gauss (算子名称)

名称

diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussdiff_of_gauss — Approximate the LoG operator (Laplace of Gaussian).

参数签名

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.

注意

Note that filter operators may return unexpected results if an image with a reduced domain is used as input. Please refer to the chapter 过滤器.

运行信息

参数表

ImageImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte / uint2)

Input image

DiffOfGaussDiffOfGaussDiffOfGaussDiffOfGaussdiffOfGaussdiff_of_gauss (output_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject * (int2)

LoG image.

SigmaSigmaSigmaSigmasigmasigma (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Smoothing parameter of the Laplace operator to approximate.

Default: 3.0

Suggested values: 2.0, 3.0, 4.0, 5.0

Minimum increment: 0.01

Recommended increment: 0.1

Restriction: Sigma > 0.0

SigFactorSigFactorSigFactorSigFactorsigFactorsig_factor (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

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

Default: 1.6

Minimum increment: 0.01

Recommended increment: 0.1

Restriction: 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)

Complexity

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

结果

diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussDiffOfGaussdiff_of_gauss returns 2 ( H_MSG_TRUE) if all parameters are correct. If the input is empty the behavior can be set via 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>). If necessary, an exception is raised.

可能的后置算子

zero_crossingzero_crossingZeroCrossingZeroCrossingZeroCrossingzero_crossing, dual_thresholddual_thresholdDualThresholdDualThresholdDualThresholddual_threshold

可替代算子

laplacelaplaceLaplaceLaplaceLaplacelaplace, derivate_gaussderivate_gaussDerivateGaussDerivateGaussDerivateGaussderivate_gauss

References

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

模块

Foundation