|
tesseract 3.04.01
|
#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) |
| TrainingSample * | tesseract::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 |
| 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;
}
| 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();
}