ClassesClassesClassesClasses | | | | Operators

invar_fourier_coeffT_invar_fourier_coeffInvarFourierCoeffinvar_fourier_coeffInvarFourierCoeffInvarFourierCoeff (Operator)

Name

invar_fourier_coeffT_invar_fourier_coeffInvarFourierCoeffinvar_fourier_coeffInvarFourierCoeffInvarFourierCoeff — Normalize the Fourier coefficients.

Warning

invar_fourier_coeffinvar_fourier_coeffInvarFourierCoeffinvar_fourier_coeffInvarFourierCoeffInvarFourierCoeff is obsolete and is only provided for reasons of backward compatibility.

Signature

invar_fourier_coeff( : : RealCoef, ImaginaryCoef, NormPar, InvarType : RealInvar, ImaginaryInvar)

Herror T_invar_fourier_coeff(const Htuple RealCoef, const Htuple ImaginaryCoef, const Htuple NormPar, const Htuple InvarType, Htuple* RealInvar, Htuple* ImaginaryInvar)

Herror invar_fourier_coeff(const HTuple& RealCoef, const HTuple& ImaginaryCoef, const HTuple& NormPar, const HTuple& InvarType, HTuple* RealInvar, HTuple* ImaginaryInvar)

void InvarFourierCoeff(const HTuple& RealCoef, const HTuple& ImaginaryCoef, const HTuple& NormPar, const HTuple& InvarType, HTuple* RealInvar, HTuple* ImaginaryInvar)

static HTuple HMisc::InvarFourierCoeff(const HTuple& RealCoef, const HTuple& ImaginaryCoef, Hlong NormPar, const HString& InvarType, HTuple* ImaginaryInvar)

static HTuple HMisc::InvarFourierCoeff(const HTuple& RealCoef, const HTuple& ImaginaryCoef, Hlong NormPar, const char* InvarType, HTuple* ImaginaryInvar)

void HOperatorSetX.InvarFourierCoeff(
[in] VARIANT RealCoef, [in] VARIANT ImaginaryCoef, [in] VARIANT NormPar, [in] VARIANT InvarType, [out] VARIANT* RealInvar, [out] VARIANT* ImaginaryInvar)

VARIANT HMiscX.InvarFourierCoeff(
[in] VARIANT RealCoef, [in] VARIANT ImaginaryCoef, [in] Hlong NormPar, [in] BSTR InvarType, [out] VARIANT* ImaginaryInvar)

static void HOperatorSet.InvarFourierCoeff(HTuple realCoef, HTuple imaginaryCoef, HTuple normPar, HTuple invarType, out HTuple realInvar, out HTuple imaginaryInvar)

static HTuple HMisc.InvarFourierCoeff(HTuple realCoef, HTuple imaginaryCoef, int normPar, string invarType, out HTuple imaginaryInvar)

Description

Elimination of affine information from the Fourier coefficients, determination of affine invariants. The Fourier coefficients will be normalized suitably so that all affine correlated contours will be projected to one and the same contour. The following levels of affine mappings are available:

  1. Translations (InvarTypeInvarTypeInvarTypeInvarTypeInvarTypeinvarType = 'transl_invar')

  2. + Rotations (InvarTypeInvarTypeInvarTypeInvarTypeInvarTypeinvarType = 'congr_invar')

  3. + Scalings (InvarTypeInvarTypeInvarTypeInvarTypeInvarTypeinvarType = 'simil_invar')

  4. + Slanting (InvarTypeInvarTypeInvarTypeInvarTypeInvarTypeinvarType = 'affine_invar')

For the input Fourier coefficients (RealCoefRealCoefRealCoefRealCoefRealCoefrealCoef, ImaginaryCoefImaginaryCoefImaginaryCoefImaginaryCoefImaginaryCoefimaginaryCoef) only odd numbers of parameter values are allowed. The control parameter InvarTypeInvarTypeInvarTypeInvarTypeInvarTypeinvarType indicates up to which level the affine representation shall be normalized. Please note that indicating a certain level implies that the normalizing is executed with regard to all levels below. For most applications a subsequent normalizing of the starting point is recommended!

Parallelization

Parameters

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

Real parts of the Fourier coefficients.

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

Imaginary parts of the Fourier coefficients.

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

Input of the normalizing coefficients.

Default value: 1

Suggested values: 1, 2

Restriction: NormPar >= 1

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

Indicates the level of the affine mappings.

Default value: 'affine_invar' "affine_invar" "affine_invar" "affine_invar" "affine_invar" "affine_invar"

List of values: 'affine_invar'"affine_invar""affine_invar""affine_invar""affine_invar""affine_invar", 'congr_invar'"congr_invar""congr_invar""congr_invar""congr_invar""congr_invar", 'simil_invar'"simil_invar""simil_invar""simil_invar""simil_invar""simil_invar", 'transl_invar'"transl_invar""transl_invar""transl_invar""transl_invar""transl_invar"

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

Real parts of the normalized Fourier coefficients.

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

Imaginary parts of the normalized Fourier coefficients.

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

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);

Possible Predecessors

fourier_1dimfourier_1dimFourier1dimfourier_1dimFourier1dimFourier1dim

Possible Successors

abs_invar_fourier_coeffabs_invar_fourier_coeffAbsInvarFourierCoeffabs_invar_fourier_coeffAbsInvarFourierCoeffAbsInvarFourierCoeff

Module

Foundation


ClassesClassesClassesClasses | | | | Operators