abs_invar_fourier_coeff ( : : RealInvar, ImaginaryInvar, CoefP, CoefQ, AZInvar : RealAbsInvar, ImaginaryAbsInvar )
Normalizing of the Fourier coefficients with respect to the displacment
of the starting point.
The operator abs_invar_fourier_coeff normalizes the Fourier
coefficients with regard to the displacements of the starting point. These
occur when an object is rotated. The contour tracer
get_region_contour starts with recording the contour in
the upper lefthand corner of the region and follows the contour
clockwise. If the object is rotated, the starting value for the
contour point chain is different which leads to a phase shift
in the frequency space. The following two kinds of normalizing
are available:
abs_amount: The phase information will be eliminated; the
normalizing does not retain the structure, i.e.\ if
the AZ-invariants are backtransformed, no
similarity with the pattern can be recognized
anymore.
az_invar1: AZ-invariants of the 1st order execute the normalizing
with respect to displacing the starting point so that
the structure is retained; they are however
more prone to local and global disturbances,
in particular to projective distortions.
Parameters
RealInvar (input_control)
|
real-array -> real
|
|
Real parts of the normalized Fourier coefficients. |
ImaginaryInvar (input_control)
|
real-array -> real
|
|
Imaginary parts of the normalized Fourier coefficients. |
CoefP (input_control)
|
integer -> integer
|
|
Normalizing coefficients p. |
|
Default value: 1 |
|
Suggested values: 1, 2 |
|
Restriction: CoefP >= 1 |
CoefQ (input_control)
|
integer -> integer
|
|
Normalizing coefficients q. |
|
Default value: 1 |
|
Suggested values: 1, 2 |
|
Restriction: (CoefQ >= 1) && (CoefQ != CoefP) |
AZInvar (input_control)
|
string -> string
|
|
Order of the AZ-invariants. |
|
Default value: 'abs_amount' |
|
List of values: 'abs_amount', 'az_invar1' |
RealAbsInvar (output_control)
|
real-array -> real
|
|
Real parts of the normalized Fourier coefficients. |
ImaginaryAbsInvar (output_control)
|
real-array -> real
|
|
Imaginary parts of the normalized Fourier coefficients. |
Example
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",¶m_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);
Parallelization Information
abs_invar_fourier_coeff is reentrant and processed without parallelization.
Possible Predecessors
invar_fourier_coeff
Possible Successors
fourier_1dim_inv,
match_fourier_coeff
Module
Fourier descriptors
Copyright © 1996-2005 MVTec Software GmbH