ClassesClassesClassesClasses | | | | Operators

fourier_1dimT_fourier_1dimFourier1dimfourier_1dimFourier1dimFourier1dim (Operator)

Name

fourier_1dimT_fourier_1dimFourier1dimfourier_1dimFourier1dimFourier1dim — Calculate the Fourier coefficients of a parameterized contour.

Warning

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

Signature

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)

Description

The operator fourier_1dimfourier_1dimFourier1dimfourier_1dimFourier1dimFourier1dim calculates the Fourier coefficients of a parameterized contour by using a valid parameter scale. This parameter scale may, for instance, be created with the help of the operator prep_contour_fourierprep_contour_fourierPrepContourFourierprep_contour_fourierPrepContourFourierPrepContourFourier. This function serves to calculate the Fourier coefficients of closed contours which are treated like complex-valued curves. Therefore, in order to determine the Fourier coefficients, the Fourier transform for periodical functions is used. Hereby the parameter MaxCoefMaxCoefMaxCoefMaxCoefMaxCoefmaxCoef determines the absolute value + 1 of the maximal number of Fourier coefficients, i.e. if n coefficients are indicated, the operator will calculate coefficients ranging from -n to n. The contour will be approximated without loss, if n = number of the contour points, whereby n = 100 approximates the contour so well that an error can hardly be distinguished; n in [40,50] however is sufficient for most applications. If the parameter MaxCoefMaxCoefMaxCoefMaxCoefMaxCoefmaxCoef is set to 0, all coefficients will be determined.

Parallelization

Parameters

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

Row coordinates of the contour.

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

Column coordinates of the contour.

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

Parameter scale.

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

Desired number of Fourier coefficients or all of them (0).

Default value: 50

Suggested values: 0, 5, 10, 15, 20, 30, 40, 50, 60, 70, 80, 90, 100, 150, 200, 400

Restriction: MaxCoef >= 0

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

Real parts of the Fourier coefficients.

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

Imaginary parts of the Fourier coefficients.

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

Possible Predecessors

prep_contour_fourierprep_contour_fourierPrepContourFourierprep_contour_fourierPrepContourFourierPrepContourFourier

Possible Successors

invar_fourier_coeffinvar_fourier_coeffInvarFourierCoeffinvar_fourier_coeffInvarFourierCoeffInvarFourierCoeff, disp_polygondisp_polygonDispPolygondisp_polygonDispPolygonDispPolygon

Module

Foundation


ClassesClassesClassesClasses | | | | Operators