KlassenKlassenKlassenKlassen | | | | Operatoren

abs_invar_fourier_coeffT_abs_invar_fourier_coeffAbsInvarFourierCoeffabs_invar_fourier_coeffAbsInvarFourierCoeffAbsInvarFourierCoeff (Operator)

Name

abs_invar_fourier_coeffT_abs_invar_fourier_coeffAbsInvarFourierCoeffabs_invar_fourier_coeffAbsInvarFourierCoeffAbsInvarFourierCoeff — Normalisieren der Fourierkoeffizienten bzgl. der Aufpunktverschiebungen.

Warnung

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

Signatur

abs_invar_fourier_coeff( : : RealInvar, ImaginaryInvar, CoefP, CoefQ, AZInvar : RealAbsInvar, ImaginaryAbsInvar)

Herror T_abs_invar_fourier_coeff(const Htuple RealInvar, const Htuple ImaginaryInvar, const Htuple CoefP, const Htuple CoefQ, const Htuple AZInvar, Htuple* RealAbsInvar, Htuple* ImaginaryAbsInvar)

Herror abs_invar_fourier_coeff(const HTuple& RealInvar, const HTuple& ImaginaryInvar, const HTuple& CoefP, const HTuple& CoefQ, const HTuple& AZInvar, HTuple* RealAbsInvar, HTuple* ImaginaryAbsInvar)

void AbsInvarFourierCoeff(const HTuple& RealInvar, const HTuple& ImaginaryInvar, const HTuple& CoefP, const HTuple& CoefQ, const HTuple& AZInvar, HTuple* RealAbsInvar, HTuple* ImaginaryAbsInvar)

static HTuple HMisc::AbsInvarFourierCoeff(const HTuple& RealInvar, const HTuple& ImaginaryInvar, Hlong CoefP, Hlong CoefQ, const HString& AZInvar, HTuple* ImaginaryAbsInvar)

static HTuple HMisc::AbsInvarFourierCoeff(const HTuple& RealInvar, const HTuple& ImaginaryInvar, Hlong CoefP, Hlong CoefQ, const char* AZInvar, HTuple* ImaginaryAbsInvar)

void HOperatorSetX.AbsInvarFourierCoeff(
[in] VARIANT RealInvar, [in] VARIANT ImaginaryInvar, [in] VARIANT CoefP, [in] VARIANT CoefQ, [in] VARIANT AZInvar, [out] VARIANT* RealAbsInvar, [out] VARIANT* ImaginaryAbsInvar)

VARIANT HMiscX.AbsInvarFourierCoeff(
[in] VARIANT RealInvar, [in] VARIANT ImaginaryInvar, [in] Hlong CoefP, [in] Hlong CoefQ, [in] BSTR AZInvar, [out] VARIANT* ImaginaryAbsInvar)

static void HOperatorSet.AbsInvarFourierCoeff(HTuple realInvar, HTuple imaginaryInvar, HTuple coefP, HTuple coefQ, HTuple AZInvar, out HTuple realAbsInvar, out HTuple imaginaryAbsInvar)

static HTuple HMisc.AbsInvarFourierCoeff(HTuple realInvar, HTuple imaginaryInvar, int coefP, int coefQ, string AZInvar, out HTuple imaginaryAbsInvar)

Beschreibung

abs_invar_fourier_coeffabs_invar_fourier_coeffAbsInvarFourierCoeffabs_invar_fourier_coeffAbsInvarFourierCoeffAbsInvarFourierCoeff normalisiert die Fourierkoeffizienten bzgl. der Aufpunktverschiebungen. Diese kommen zustande, wenn ein Objekt gedreht wird. Der Konturverfolger get_region_contourget_region_contourGetRegionContourget_region_contourGetRegionContourGetRegionContour beginnt mit der Aufzeichnung der Kontur im linken oberen Eck der Region und fährt die Kontur im Uhrzeigersinn entlang. Wird das Objekt nun gedreht, dann ändert sich der Startwert der Konturpunktkette, was zu einer Phasenverschiebung im Frequenzraum führt. Hierbei kann zwischen zwei Normalisierungsarten gewählt werden:

abs_amount:

Phaseninformation wird eliminiert; Normalisierung ist nicht strukturerhaltend, d.h. bei Rücktransformation der AZ-Invarianten ist keine Ähnlichkeit mit der Musterregion mehr zu erkennen.

az_invar1:

AZ-Invarianten 1. Ordnung normalisieren bzgl. der Aufpunktverschiebungen strukturerhaltend, sind jedoch anfälliger gegenüber lokalen und globalen Störungen, insbesondere gegenüber projektiven Verzerrungen.

Für die Eingabe Fourierkoeffizienten (RealInvarRealInvarRealInvarRealInvarRealInvarrealInvar, ImaginaryInvarImaginaryInvarImaginaryInvarImaginaryInvarImaginaryInvarimaginaryInvar) ist nur eine ungerade Anzahl von Werten erlaubt.

Parallelisierung

Parameter

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

Realteile der normalisierten Fourierkoeffizienten.

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

Imaginärteile der normalisierten Fourierkoeffizienten.

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

Normalisierungskoeffizienten p.

Defaultwert: 1

Wertevorschläge: 1, 2

Restriktion: CoefP >= 1

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

Normalisierungskoeffizienten q.

Defaultwert: 1

Wertevorschläge: 1, 2

Restriktion: CoefQ >= 1 && CoefQ != CoefP

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

Ordnung der AZ-Invarianten.

Defaultwert: 'abs_amount' "abs_amount" "abs_amount" "abs_amount" "abs_amount" "abs_amount"

Werteliste: 'abs_amount'"abs_amount""abs_amount""abs_amount""abs_amount""abs_amount", 'az_invar1'"az_invar1""az_invar1""az_invar1""az_invar1""az_invar1"

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

Realteile der normalisierten Fourierkoeffizienten.

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

Imaginärteile der normalisierten Fourierkoeffizienten.

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

get_region_contour(single,&row,&col);
length_of_contour = length_tuple(row);
move_contour_orig(row,col,&trow,&tcol);
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);
fourier_1dim_inv(absrow,abscol,length_of_contour,&fsynrow,&fsyncol);

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren