tesseract  4.00.00dev
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 
45 // The standard feature length
46 const double kStandardFeatureLength = 64.0 / 5;
47 
51 void InitIntegerFX();
52 
53 // Returns a vector representing the direction of a feature with the given
54 // theta direction in an INT_FEATURE_STRUCT.
56 
57 namespace tesseract {
58  // Generates a TrainingSample from a TBLOB. Extracts features and sets
59  // the bounding box, so classifiers that operate on the image can work.
60  // TODO(rays) BlobToTrainingSample must remain a global function until
61  // the FlexFx and FeatureDescription code can be removed and LearnBlob
62  // made a member of Classify.
63  TrainingSample* BlobToTrainingSample(
64  const TBLOB& blob, bool nonlinear_norm, INT_FX_RESULT_STRUCT* fx_info,
66 }
67 
68 // Deprecated! Prefer tesseract::Classify::ExtractFeatures instead.
69 bool ExtractIntFeat(const TBLOB& blob,
70  bool nonlinear_norm,
71  INT_FEATURE_ARRAY BLFeat,
72  INT_FEATURE_ARRAY CNFeat,
73  INT_FX_RESULT_STRUCT* Results);
74 
75 #endif
Definition: points.h:189
int32_t inT32
Definition: host.h:38
const double kStandardFeatureLength
Definition: intfx.h:46
FCOORD FeatureDirection(uinT8 theta)
Definition: intfx.cpp:70
int16_t inT16
Definition: host.h:36
TrainingSample * BlobToTrainingSample(const TBLOB &blob, bool nonlinear_norm, INT_FX_RESULT_STRUCT *fx_info, GenericVector< INT_FEATURE_STRUCT > *bl_features)
Definition: intfx.cpp:81
Definition: blobs.h:261
uint8_t uinT8
Definition: host.h:35
void InitIntegerFX()
Definition: intfx.cpp:55
INT_FEATURE_STRUCT INT_FEATURE_ARRAY[MAX_NUM_INT_FEATURES]
Definition: intproto.h:155
bool ExtractIntFeat(const TBLOB &blob, bool nonlinear_norm, INT_FEATURE_ARRAY BLFeat, INT_FEATURE_ARRAY CNFeat, INT_FX_RESULT_STRUCT *Results)
Definition: intfx.cpp:513