diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussdiff_of_gauss (Operator)

Name

diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussdiff_of_gauss — Näherung für den LoG-Operator (Laplace of Gaussian).

Signatur

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

Beschreibung

diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussDiffOfGaussdiff_of_gauss ist eine Näherung für den Laplace-Operator. Dieser wird hier als Differenz zweier Gaußfunktionen approximiert. Die Standardabweichungen dieser Gaußfunktionen ergeben sich nach Marr aus dem Parameter SigmaSigmaSigmaSigmasigmasigma des Laplace-Operators und dem Verhältnis der beiden Standardabweichungen zueinander (SigFactorSigFactorSigFactorSigFactorsigFactorsig_factor): Für ergibt sich nach Marr eine Näherung an den Mexican-Hat-Operator (LoG, Laplace of Gaussian). Das Ergebnisbild wird in DiffOfGaussDiffOfGaussDiffOfGaussDiffOfGaussdiffOfGaussdiff_of_gauss abgelegt.

Achtung

Beachten Sie, dass Filteroperatoren eventuell unerwartete Resultate ausgeben, wenn ein Bild mit einer reduzierten Domäne als Input übergeben wird. Weitere Informationen können im Kapitel Filter gefunden werden.

Ausführungsinformationen

Parameter

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

Eingabebilder

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

Gefilterte Ausgabebilder.

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

Glättungsparameter des (zu approximierenden) Laplace-Operators.

Defaultwert: 3.0

Wertevorschläge: 2.0, 3.0, 4.0, 5.0

Minimale Schrittweite: 0.01

Empfohlene Schrittweite: 0.1

Restriktion: Sigma > 0.0

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

Verhältnis der Standardabweichungen der eingesetzten Gaußfunktionen (Marr empfiehlt 1.6).

Defaultwert: 1.6

Minimale Schrittweite: 0.01

Empfohlene Schrittweite: 0.1

Restriktion: SigFactor > 0.0

Beispiel (HDevelop)

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

Beispiel (C)

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

Beispiel (HDevelop)

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

Beispiel (HDevelop)

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

Beispiel (HDevelop)

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

Komplexität

Die Komplexität hängt linear von der Anzahl der Bildpunkte und der Größe von Sigma ab.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert diff_of_gaussdiff_of_gaussDiffOfGaussDiffOfGaussDiffOfGaussdiff_of_gauss den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer Eingabe (keine Eingabebilder vorhanden) lässt sich mittels 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>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

zero_crossingzero_crossingZeroCrossingZeroCrossingZeroCrossingzero_crossing, dual_thresholddual_thresholdDualThresholdDualThresholdDualThresholddual_threshold

Alternativen

laplacelaplaceLaplaceLaplaceLaplacelaplace, derivate_gaussderivate_gaussDerivateGaussDerivateGaussDerivateGaussderivate_gauss

Literatur

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

Modul

Foundation