All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
normfeat.cpp File Reference
#include "normfeat.h"
#include "intfx.h"
#include "featdefs.h"
#include "mfoutline.h"

Go to the source code of this file.

Functions

FLOAT32 ActualOutlineLength (FEATURE Feature)
 
FEATURE_SET ExtractCharNormFeatures (const INT_FX_RESULT_STRUCT &fx_info)
 

Function Documentation

FLOAT32 ActualOutlineLength ( FEATURE  Feature)

Return the length of the outline in baseline normalized form.

Definition at line 32 of file normfeat.cpp.

32  {
33  return (Feature->Params[CharNormLength] * LENGTH_COMPRESSION);
34 }
#define LENGTH_COMPRESSION
Definition: normfeat.h:26
FLOAT32 Params[1]
Definition: ocrfeatures.h:65
FEATURE_SET ExtractCharNormFeatures ( const INT_FX_RESULT_STRUCT fx_info)

Return the character normalization feature for a blob.

The features returned are in a scale where the x-height has been normalized to live in the region y = [-0.25 .. 0.25]. Example ranges for English below are based on the Linux font collection on 2009-12-04:

  • Params[CharNormY]
    • The y coordinate of the grapheme's centroid.
    • English: [-0.27, 0.71]
  • Params[CharNormLength]
    • The length of the grapheme's outline (tiny segments discarded), divided by 10.0=LENGTH_COMPRESSION.
    • English: [0.16, 0.85]
  • Params[CharNormRx]
    • The radius of gyration about the x axis, as measured from CharNormY.
    • English: [0.011, 0.34]
  • Params[CharNormRy]
    • The radius of gyration about the y axis, as measured from the x center of the grapheme's bounding box.
    • English: [0.011, 0.31]

Definition at line 62 of file normfeat.cpp.

62  {
63  FEATURE_SET feature_set = NewFeatureSet(1);
64  FEATURE feature = NewFeature(&CharNormDesc);
65 
66  feature->Params[CharNormY] =
68  feature->Params[CharNormLength] =
70  feature->Params[CharNormRx] = MF_SCALE_FACTOR * fx_info.Rx;
71  feature->Params[CharNormRy] = MF_SCALE_FACTOR * fx_info.Ry;
72 
73  AddFeature(feature_set, feature);
74 
75  return feature_set;
76 } /* ExtractCharNormFeatures */
FEATURE NewFeature(const FEATURE_DESC_STRUCT *FeatureDesc)
Definition: ocrfeatures.cpp:96
FEATURE_SET NewFeatureSet(int NumFeatures)
#define LENGTH_COMPRESSION
Definition: normfeat.h:26
const FEATURE_DESC_STRUCT CharNormDesc
const int kBlnBaselineOffset
Definition: normalis.h:29
FLOAT32 Params[1]
Definition: ocrfeatures.h:65
BOOL8 AddFeature(FEATURE_SET FeatureSet, FEATURE Feature)
Definition: ocrfeatures.cpp:44
#define MF_SCALE_FACTOR
Definition: mfoutline.h:63