tesseract  4.00.00dev
intfx.cpp File Reference
#include "intfx.h"
#include "allheaders.h"
#include "ccutil.h"
#include "classify.h"
#include "const.h"
#include "helpers.h"
#include "intmatcher.h"
#include "linlsq.h"
#include "ndminx.h"
#include "normalis.h"
#include "statistc.h"
#include "trainingsample.h"

Go to the source code of this file.

Namespaces

 tesseract
 

Functions

void InitIntegerFX ()
 
FCOORD FeatureDirection (uinT8 theta)
 
TrainingSampletesseract::BlobToTrainingSample (const TBLOB &blob, bool nonlinear_norm, INT_FX_RESULT_STRUCT *fx_info, GenericVector< INT_FEATURE_STRUCT > *bl_features)
 
uinT8 tesseract::NormalizeDirection (uinT8 dir, const FCOORD &unnormed_pos, const DENORM &denorm, const DENORM *root_denorm)
 
bool ExtractIntFeat (const TBLOB &blob, bool nonlinear_norm, INT_FEATURE_ARRAY baseline_features, INT_FEATURE_ARRAY charnorm_features, INT_FX_RESULT_STRUCT *results)
 

Variables

tesseract::CCUtilMutex atan_table_mutex
 

Function Documentation

◆ ExtractIntFeat()

bool ExtractIntFeat ( const TBLOB blob,
bool  nonlinear_norm,
INT_FEATURE_ARRAY  baseline_features,
INT_FEATURE_ARRAY  charnorm_features,
INT_FX_RESULT_STRUCT results 
)

Definition at line 513 of file intfx.cpp.

517  {
520  tesseract::Classify::ExtractFeatures(blob, nonlinear_norm,
521  &bl_features, &cn_features, results,
522  NULL);
523  if (bl_features.empty() || cn_features.empty() ||
524  bl_features.size() > MAX_NUM_INT_FEATURES ||
525  cn_features.size() > MAX_NUM_INT_FEATURES) {
526  return false; // Feature extraction failed.
527  }
528  memcpy(baseline_features, &bl_features[0],
529  bl_features.size() * sizeof(bl_features[0]));
530  memcpy(charnorm_features, &cn_features[0],
531  cn_features.size() * sizeof(cn_features[0]));
532  return true;
533 }
bool empty() const
Definition: genericvector.h:90
int size() const
Definition: genericvector.h:72
static void ExtractFeatures(const TBLOB &blob, bool nonlinear_norm, GenericVector< INT_FEATURE_STRUCT > *bl_features, GenericVector< INT_FEATURE_STRUCT > *cn_features, INT_FX_RESULT_STRUCT *results, GenericVector< int > *outline_cn_counts)
Definition: intfx.cpp:445
#define MAX_NUM_INT_FEATURES
Definition: intproto.h:132

◆ FeatureDirection()

FCOORD FeatureDirection ( uinT8  theta)

Definition at line 70 of file intfx.cpp.

70  {
71  return FCOORD(cos_table[theta], sin_table[theta]);
72 }
Definition: points.h:189

◆ InitIntegerFX()

void InitIntegerFX ( )

Public Code

Definition at line 55 of file intfx.cpp.

55  {
56  static bool atan_table_init = false;
58  if (!atan_table_init) {
59  for (int i = 0; i < INT_CHAR_NORM_RANGE; ++i) {
60  cos_table[i] = cos(i * 2 * PI / INT_CHAR_NORM_RANGE + PI);
61  sin_table[i] = sin(i * 2 * PI / INT_CHAR_NORM_RANGE + PI);
62  }
63  atan_table_init = true;
64  }
66 }
tesseract::CCUtilMutex atan_table_mutex
Definition: intfx.cpp:48
#define PI
Definition: const.h:19
#define INT_CHAR_NORM_RANGE
Definition: intproto.h:133

Variable Documentation

◆ atan_table_mutex

tesseract::CCUtilMutex atan_table_mutex

Definition at line 48 of file intfx.cpp.