HALCON Reference Manual 10.0.2
Table of Contents / Legacy / Fourier Descriptor ClassesClassesClasses | | | Operators

fourier_1dimT_fourier_1dimfourier_1dimFourier1dimFourier1dim (Operator)

Name

fourier_1dimT_fourier_1dimfourier_1dimFourier1dimFourier1dim — Calculate the Fourier coefficients of a parameterized contour.

Warning

fourier_1dimfourier_1dimfourier_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 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_1dimfourier_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_fourierprep_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 MaxCoefMaxCoefMaxCoefMaxCoefmaxCoef determines the absolute value + 1 of the maximal number of Fourier coefficients, i.e. if n coefficients are indicated, the procedure 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 MaxCoefMaxCoefMaxCoefMaxCoefmaxCoef is set to 0, all coefficients will be determined.

Parallelization

Parameters

RowsRowsRowsRowsrows (input_control)  contour.y-array HTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong)

Row coordinates of the contour.

ColumnsColumnsColumnsColumnscolumns (input_control)  contour.x-array HTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong)

Column coordinates of the contour.

ParContourParContourParContourParContourparContour (input_control)  real-array HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Parameter scale.

MaxCoefMaxCoefMaxCoefMaxCoefmaxCoef (input_control)  integer HTupleHTupleVARIANTHtuple (integer) (int / long) (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

RealCoefRealCoefRealCoefRealCoefrealCoef (output_control)  real-array HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Real parts of the Fourier coefficients.

ImaginaryCoefImaginaryCoefImaginaryCoefImaginaryCoefimaginaryCoef (output_control)  real-array HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Imaginary parts of the Fourier coefficients.

Example (C++)

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_fourierprep_contour_fourierPrepContourFourierPrepContourFourier

Possible Successors

invar_fourier_coeffinvar_fourier_coeffinvar_fourier_coeffInvarFourierCoeffInvarFourierCoeff, disp_polygondisp_polygondisp_polygonDispPolygonDispPolygon

Module

Foundation


Table of Contents / Legacy / Fourier Descriptor ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH