tesseract  3.03
/usr/local/google/home/jbreiden/tesseract-ocr-read-only/classify/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

namespace  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

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.

                                                   {
  GenericVector<INT_FEATURE_STRUCT> bl_features;
  GenericVector<INT_FEATURE_STRUCT> cn_features;
  tesseract::Classify::ExtractFeatures(blob, nonlinear_norm,
                                       &bl_features, &cn_features, results,
                                       NULL);
  if (bl_features.size() == 0 || cn_features.size() == 0 ||
      bl_features.size() > MAX_NUM_INT_FEATURES ||
      cn_features.size() > MAX_NUM_INT_FEATURES) {
    return false;  // Feature extraction failed.
  }
  memcpy(baseline_features, &bl_features[0],
         bl_features.size() * sizeof(bl_features[0]));
  memcpy(charnorm_features, &cn_features[0],
         cn_features.size() * sizeof(cn_features[0]));
  return true;
}

Definition at line 70 of file intfx.cpp.

                                     {
  return FCOORD(cos_table[theta], sin_table[theta]);
}
void InitIntegerFX ( )

---------------------------------------------------------------------------- Public Code ----------------------------------------------------------------------------

Definition at line 55 of file intfx.cpp.

                     {
  static bool atan_table_init = false;
  atan_table_mutex.Lock();
  if (!atan_table_init) {
    for (int i = 0; i < INT_CHAR_NORM_RANGE; ++i) {
      cos_table[i] = cos(i * 2 * PI / INT_CHAR_NORM_RANGE + PI);
      sin_table[i] = sin(i * 2 * PI / INT_CHAR_NORM_RANGE + PI);
    }
    atan_table_init = true;
  }
  atan_table_mutex.Unlock();
}

Variable Documentation

Definition at line 48 of file intfx.cpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines