Tesseract  3.02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
intfx.h
Go to the documentation of this file.
1 /******************************************************************************
2  ** Filename: intfx.h
3  ** Purpose: Interface to high level integer feature extractor.
4  ** Author: Robert Moss
5  ** History: Tue May 21 15:51:57 MDT 1991, RWM, Created.
6  **
7  ** (c) Copyright Hewlett-Packard Company, 1988.
8  ** Licensed under the Apache License, Version 2.0 (the "License");
9  ** you may not use this file except in compliance with the License.
10  ** You may obtain a copy of the License at
11  ** http://www.apache.org/licenses/LICENSE-2.0
12  ** Unless required by applicable law or agreed to in writing, software
13  ** distributed under the License is distributed on an "AS IS" BASIS,
14  ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  ** See the License for the specific language governing permissions and
16  ** limitations under the License.
17  ******************************************************************************/
18 #ifndef INTFX_H
19 #define INTFX_H
20 
24 #include "blobs.h"
25 #include "intproto.h"
26 #include "normalis.h"
27 #include <math.h>
28 
29 class DENORM;
30 
31 namespace tesseract {
32 class TrainingSample;
33 }
34 
36  inT32 Length; // total length of all outlines
37  inT16 Xmean, Ymean; // center of mass of all outlines
38  inT16 Rx, Ry; // radius of gyration
39  inT16 NumBL, NumCN; // number of features extracted
40  inT16 Width; // Width of blob in BLN coords.
41  uinT8 YBottom; // Bottom of blob in BLN coords.
42  uinT8 YTop; // Top of blob in BLN coords.
43 };
44 
48 void InitIntegerFX();
49 
50 // Returns a vector representing the direction of a feature with the given
51 // theta direction in an INT_FEATURE_STRUCT.
53 
56  const DENORM& denorm);
57 
58 int ExtractIntFeat(TBLOB *Blob,
59  const DENORM& denorm,
60  INT_FEATURE_ARRAY BLFeat,
61  INT_FEATURE_ARRAY CNFeat,
62  INT_FX_RESULT_STRUCT* Results,
63  inT32 *FeatureOutlineArray = 0);
64 
66 
67 int SaveFeature(INT_FEATURE_ARRAY FeatureArray,
68  uinT16 FeatureNum,
69  inT16 X,
70  inT16 Y,
71  uinT8 Theta);
72 
73 uinT16 MySqrt(inT32 X, inT32 Y);
74 
75 uinT8 MySqrt2(uinT16 N, uinT32 I, uinT8 *Exp);
76 
77 void ClipRadius(uinT8 *RxInv, uinT8 *RxExp, uinT8 *RyInv, uinT8 *RyExp);
78 #endif