Herror ::fourier_1dim (
const HTuple &Rows,
const HTuple &Columns,
const HTuple &ParContour,
const HTuple &MaxCoef,
HTuple *RealCoef,
HTuple *ImaginaryCoef
)
Calculate the Fourier coefficients of a parameterized contour.
The operator ::fourier_1dim 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
procedure ::prep_contour_fourier. 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 MaxCoef 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 [40,50] however is sufficient for most
applications. If the parameter MaxCoef is set to 0, all
coefficients will be determined.
Parameters
Rows (input_control)
|
contour.y-array -> HTuple.long
|
|
Row coordinates of the contour. |
Columns (input_control)
|
contour.x-array -> HTuple.long
|
|
Colmumn coordinates of the contour. |
ParContour (input_control)
|
real-array -> HTuple.double
|
|
Parameter scale. |
MaxCoef (input_control)
|
integer -> HTuple.long
|
|
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 |
RealCoef (output_control)
|
real-array -> HTuple.double *
|
|
Real parts of the Fourier coefficients. |
ImaginaryCoef (output_control)
|
real-array -> HTuple.double *
|
|
Imaginary parts of the Fourier coefficients. |
Example
get_region_contour(single,&row,&col);
move_contour_orig(row,col,&trow,&tcol);
prep_contour_fourier(trow,tcol,"unsigned_area",¶m_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_fourier
Possible Successors
::invar_fourier_coeff,
::disp_polygon
Module
Fourier descriptors
Copyright © 1996-2002 MVTec Software GmbH