KlassenKlassenKlassenKlassen | | | | Operatoren

fourier_1dimT_fourier_1dimFourier1dimfourier_1dimFourier1dimFourier1dim (Operator)

Name

fourier_1dimT_fourier_1dimFourier1dimfourier_1dimFourier1dimFourier1dim — Berechnen der Fourierkoeffizienten einer parametrisierten Kontur.

Warnung

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

Signatur

fourier_1dim( : : Rows, Columns, ParContour, MaxCoef : RealCoef, ImaginaryCoef)

Herror T_fourier_1dim(const Htuple Rows, const Htuple Columns, const Htuple ParContour, const Htuple MaxCoef, Htuple* RealCoef, Htuple* ImaginaryCoef)

Herror fourier_1dim(const HTuple& Rows, const HTuple& Columns, const HTuple& ParContour, const HTuple& MaxCoef, HTuple* RealCoef, HTuple* ImaginaryCoef)

void Fourier1dim(const HTuple& Rows, const HTuple& Columns, const HTuple& ParContour, const HTuple& MaxCoef, HTuple* RealCoef, HTuple* ImaginaryCoef)

static HTuple HMisc::Fourier1dim(const HTuple& Rows, const HTuple& Columns, const HTuple& ParContour, Hlong MaxCoef, HTuple* ImaginaryCoef)

void HOperatorSetX.Fourier1dim(
[in] VARIANT Rows, [in] VARIANT Columns, [in] VARIANT ParContour, [in] VARIANT MaxCoef, [out] VARIANT* RealCoef, [out] VARIANT* ImaginaryCoef)

VARIANT HMiscX.Fourier1dim(
[in] VARIANT Rows, [in] VARIANT Columns, [in] VARIANT ParContour, [in] Hlong MaxCoef, [out] VARIANT* ImaginaryCoef)

static void HOperatorSet.Fourier1dim(HTuple rows, HTuple columns, HTuple parContour, HTuple maxCoef, out HTuple realCoef, out HTuple imaginaryCoef)

static HTuple HMisc.Fourier1dim(HTuple rows, HTuple columns, HTuple parContour, int maxCoef, out HTuple imaginaryCoef)

Beschreibung

fourier_1dimfourier_1dimFourier1dimfourier_1dimFourier1dimFourier1dim berechnet die Fourierkoeffizienten einer parametrisierten Kontur unter Verwendung einer gültigen Parameterskala. Diese kann z.B. mit dem Operator prep_contour_fourierprep_contour_fourierPrepContourFourierprep_contour_fourierPrepContourFourierPrepContourFourier gewonnen werden. Es handelt sich bei dieser Funktion um die Berechnung der Fourierkoeffizienten geschlossener Konturen, die als komplexwertige Kurven aufgefasst werden. Daher wird bei der Ermittlung der Fourierkoeffizienten die Fouriertransformation periodischer Funktionen verwendet. Der Parameter MaxCoefMaxCoefMaxCoefMaxCoefMaxCoefmaxCoef bestimmt hierbei den Absolutwert + 1 der maximalen Anzahl der Fourierkoeffizienten, d.h. werden n Koeffizienten angegeben, so berechnet die Prozedur Koeffizienten von -n bis n. Die Kontur wird verlustfrei approximiert, wenn n = Anzahl der Konturpunkte, während bereits n = 100 die Kontur so gut nähert, dass ein Fehler kaum mehr zu erkennen ist; n in [40,50] ist jedoch für die meisten Anwendungen ausreichend. Gibt man für MaxCoefMaxCoefMaxCoefMaxCoefMaxCoefmaxCoef den Wert 0 an, so werden alle Koeffizienten bestimmt.

Parallelisierung

Parameter

RowsRowsRowsRowsRowsrows (input_control)  contour.y-array HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Zeilenkoordinaten der Kontur.

ColumnsColumnsColumnsColumnsColumnscolumns (input_control)  contour.x-array HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Spaltenkoordinaten der Kontur.

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

Parameterskala.

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

Gewünschten Anzahl von Fourierkoeffizienten oder alle (0).

Defaultwert: 50

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

Restriktion: MaxCoef >= 0

RealCoefRealCoefRealCoefRealCoefRealCoefrealCoef (output_control)  real-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Realteile der Fourierkoeffizienten.

ImaginaryCoefImaginaryCoefImaginaryCoefImaginaryCoefImaginaryCoefimaginaryCoef (output_control)  real-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Imaginärteile der Fourierkoeffizienten.

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

get_region_contour(single,&row,&col);
move_contour_orig(row,col,&trow,&tcol);
prep_contour_fourier(trow,tcol,"unsigned_area",&param_scale);
fourier_1dim(trow,tcol,param_scale,&frow,&fcol);
invar_fourier_coeff(frow,fcol,1,"affine_invar",&invrow,&invcol);
abs_invar_fourier_coeff(invrow,invcol,1,2,"az_invar1",&absrow,&abscol);

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren