KlassenKlassenKlassenKlassen | | | | Operatoren

match_fourier_coeffT_match_fourier_coeffMatchFourierCoeffmatch_fourier_coeffMatchFourierCoeffMatchFourierCoeff (Operator)

Name

match_fourier_coeffT_match_fourier_coeffMatchFourierCoeffmatch_fourier_coeffMatchFourierCoeffMatchFourierCoeff — Berechnen der Ähnlichkeit zweier Konturen.

Warnung

match_fourier_coeffmatch_fourier_coeffMatchFourierCoeffmatch_fourier_coeffMatchFourierCoeffMatchFourierCoeff ist veraltet und wird nur aus Gründen der Rückwärtskompatibilität zur Verfügung gestellt.

Signatur

match_fourier_coeff( : : RealCoef1, ImaginaryCoef1, RealCoef2, ImaginaryCoef2, MaxCoef, Damping : Distance)

Herror T_match_fourier_coeff(const Htuple RealCoef1, const Htuple ImaginaryCoef1, const Htuple RealCoef2, const Htuple ImaginaryCoef2, const Htuple MaxCoef, const Htuple Damping, Htuple* Distance)

Herror match_fourier_coeff(const HTuple& RealCoef1, const HTuple& ImaginaryCoef1, const HTuple& RealCoef2, const HTuple& ImaginaryCoef2, const HTuple& MaxCoef, const HTuple& Damping, double* Distance)

void MatchFourierCoeff(const HTuple& RealCoef1, const HTuple& ImaginaryCoef1, const HTuple& RealCoef2, const HTuple& ImaginaryCoef2, const HTuple& MaxCoef, const HTuple& Damping, HTuple* Distance)

static double HMisc::MatchFourierCoeff(const HTuple& RealCoef1, const HTuple& ImaginaryCoef1, const HTuple& RealCoef2, const HTuple& ImaginaryCoef2, Hlong MaxCoef, const HString& Damping)

static double HMisc::MatchFourierCoeff(const HTuple& RealCoef1, const HTuple& ImaginaryCoef1, const HTuple& RealCoef2, const HTuple& ImaginaryCoef2, Hlong MaxCoef, const char* Damping)

void HOperatorSetX.MatchFourierCoeff(
[in] VARIANT RealCoef1, [in] VARIANT ImaginaryCoef1, [in] VARIANT RealCoef2, [in] VARIANT ImaginaryCoef2, [in] VARIANT MaxCoef, [in] VARIANT Damping, [out] VARIANT* Distance)

double HMiscX.MatchFourierCoeff(
[in] VARIANT RealCoef1, [in] VARIANT ImaginaryCoef1, [in] VARIANT RealCoef2, [in] VARIANT ImaginaryCoef2, [in] Hlong MaxCoef, [in] BSTR Damping)

static void HOperatorSet.MatchFourierCoeff(HTuple realCoef1, HTuple imaginaryCoef1, HTuple realCoef2, HTuple imaginaryCoef2, HTuple maxCoef, HTuple damping, out HTuple distance)

static double HMisc.MatchFourierCoeff(HTuple realCoef1, HTuple imaginaryCoef1, HTuple realCoef2, HTuple imaginaryCoef2, int maxCoef, string damping)

Beschreibung

match_fourier_coeffmatch_fourier_coeffMatchFourierCoeffmatch_fourier_coeffMatchFourierCoeffMatchFourierCoeff berechnet den euklidischen Abstand zweier Konturen, die als Fourierkoeffizienten vorliegen. Um zu vermeiden, dass die höheren Frequenzen zu stark mit eingehen, können folgende Dämpfungen verwendet werden:

none:

Keine Dämpfung.

1/index:

Absolutbeträge der Fourierkoeffizienten werden durch ihren Index geteilt.

1/index*index:

Absolutbeträge der Fourierkoeffizienten werden durch ihren Quadratindex geteilt.

Je höher der Ergebniswert ist, desto unterschiedlicher sind Muster- und Testkontur. Für die Eingabe Fourierkoeffizienten (RealCoef1RealCoef1RealCoef1RealCoef1RealCoef1realCoef1, ImaginaryCoef1ImaginaryCoef1ImaginaryCoef1ImaginaryCoef1ImaginaryCoef1imaginaryCoef1, RealCoef2RealCoef2RealCoef2RealCoef2RealCoef2realCoef2, ImaginaryCoef2ImaginaryCoef2ImaginaryCoef2ImaginaryCoef2ImaginaryCoef2imaginaryCoef2) ist nur eine ungerade Anzahl von Werten erlaubt. Unterscheidet sich die Anzahl der Koeffizienten, so werden nur die ersten n Koeffizienten verglichen. MaxCoefMaxCoefMaxCoefMaxCoefMaxCoefmaxCoef gibt die Anzahl der Koeffizienten vor, die zum Vergleich verwendet werden. Wird Null angegeben, so werden alle Koeffizienten verwendet.

Parallelisierung

Parameter

RealCoef1RealCoef1RealCoef1RealCoef1RealCoef1realCoef1 (input_control)  real-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Realteile der Muster-Fourierkoeffizienten.

ImaginaryCoef1ImaginaryCoef1ImaginaryCoef1ImaginaryCoef1ImaginaryCoef1imaginaryCoef1 (input_control)  real-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Imaginärteile der Muster-Fourierkoeffizienten.

RealCoef2RealCoef2RealCoef2RealCoef2RealCoef2realCoef2 (input_control)  real-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Realteile der Vergleichs-Fourierkoeffizienten.

ImaginaryCoef2ImaginaryCoef2ImaginaryCoef2ImaginaryCoef2ImaginaryCoef2imaginaryCoef2 (input_control)  real-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Imaginärteile der Vergleichs-Fourierkoeffizienten.

MaxCoefMaxCoefMaxCoefMaxCoefMaxCoefmaxCoef (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Anzahl der Fourierkoeffizienten

Defaultwert: 50

Wertevorschläge: 0, 5, 10, 15, 20, 30, 40, 50, 70, 100, 200, 400

Restriktion: MaxCoef >= 0

DampingDampingDampingDampingDampingdamping (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Art der Dämpfung.

Defaultwert: '1/index' "1/index" "1/index" "1/index" "1/index" "1/index"

Wertevorschläge: 'none'"none""none""none""none""none", '1/index'"1/index""1/index""1/index""1/index""1/index", '1/(index*index)'"1/(index*index)""1/(index*index)""1/(index*index)""1/(index*index)""1/(index*index)"

DistanceDistanceDistanceDistanceDistancedistance (output_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Ähnlichkeit der Konturen.

Beispiel (C++ (HALCON 5.0-10.0))

prep_contour_fourier(trow,tcol,"unsigned_area",&param_scale);
fourier_1dim(trow,tcol,param_scale,50,&frow,&fcol);
invar_fourier_coeff(frow,fcol,1,"affine_invar",&invrow,&invcol);
abs_invar_fourier_coeff(invrow,invcol,1,2,
                        "az_invar1",&absrow,&abscol);
match_fourier_coeff(contur1_row, contur1_col,
                    contur2_row, contur2_col, 50,
                    "1/index", &Distance_wert);

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren