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
void InitIntegerFX()
Definition: intfx.cpp:74
int ExtractIntFeat(TBLOB *Blob, const DENORM &denorm, INT_FEATURE_ARRAY BLFeat, INT_FEATURE_ARRAY CNFeat, INT_FX_RESULT_STRUCT *Results, inT32 *FeatureOutlineArray=0)
Definition: intfx.cpp:143
void ClipRadius(uinT8 *RxInv, uinT8 *RxExp, uinT8 *RyInv, uinT8 *RyExp)
Definition: intfx.cpp:594
int inT32
Definition: host.h:102
uinT16 MySqrt(inT32 X, inT32 Y)
Definition: intfx.cpp:505
Definition: blobs.h:174
FCOORD FeatureDirection(uinT8 theta)
Definition: intfx.cpp:93
int SaveFeature(INT_FEATURE_ARRAY FeatureArray, uinT16 FeatureNum, inT16 X, inT16 Y, uinT8 Theta)
Definition: intfx.cpp:478
CMD_EVENTS mode
Definition: pgedit.cpp:115
unsigned short uinT16
Definition: host.h:101
uinT8 MySqrt2(uinT16 N, uinT32 I, uinT8 *Exp)
Definition: intfx.cpp:542
Definition: points.h:189
short inT16
Definition: host.h:100
INT_FEATURE_STRUCT INT_FEATURE_ARRAY[MAX_NUM_INT_FEATURES]
Definition: baseapi.h:66
NormalizationMode
Definition: normalis.h:42
unsigned char uinT8
Definition: host.h:99
unsigned int uinT32
Definition: host.h:103
uinT8 BinaryAnglePlusPi(inT32 Y, inT32 X)
Definition: intfx.cpp:429
tesseract::TrainingSample * GetIntFeatures(tesseract::NormalizationMode mode, TBLOB *blob, const DENORM &denorm)
Definition: intfx.cpp:97