tesseract  5.0.0
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 
21 #include "blobs.h"
22 #include "intproto.h"
23 #include "normalis.h"
24 
25 #include <cmath>
26 
27 namespace tesseract {
28 
29 class DENORM;
30 
31 class TrainingSample;
32 
34  int32_t Length; // total length of all outlines
35  int16_t Xmean, Ymean; // center of mass of all outlines
36  int16_t Rx, Ry; // radius of gyration
37  int16_t NumBL, NumCN; // number of features extracted
38  int16_t Width; // Width of blob in BLN coords.
39  uint8_t YBottom; // Bottom of blob in BLN coords.
40  uint8_t YTop; // Top of blob in BLN coords.
41 };
42 
43 // The standard feature length
44 const double kStandardFeatureLength = 64.0 / 5;
45 
50 void InitIntegerFX();
51 
52 // Returns a vector representing the direction of a feature with the given
53 // theta direction in an INT_FEATURE_STRUCT.
55 FCOORD FeatureDirection(uint8_t theta);
56 
57 // Generates a TrainingSample from a TBLOB. Extracts features and sets
58 // the bounding box, so classifiers that operate on the image can work.
59 // TODO(rays) BlobToTrainingSample must remain a global function until
60 // the FlexFx and FeatureDescription code can be removed and LearnBlob
61 // made a member of Classify.
62 TrainingSample *BlobToTrainingSample(const TBLOB &blob, bool nonlinear_norm,
63  INT_FX_RESULT_STRUCT *fx_info,
64  std::vector<INT_FEATURE_STRUCT> *bl_features);
65 
66 } // namespace tesseract
67 
68 #endif
const double kStandardFeatureLength
Definition: intfx.h:44
FCOORD FeatureDirection(uint8_t theta)
Definition: intfx.cpp:70
TrainingSample * BlobToTrainingSample(const TBLOB &blob, bool nonlinear_norm, INT_FX_RESULT_STRUCT *fx_info, std::vector< INT_FEATURE_STRUCT > *bl_features)
Definition: intfx.cpp:79
void InitIntegerFX()
Definition: intfx.cpp:54
#define TESS_API
Definition: export.h:34