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

Go to the source code of this file.

Macros

#define LENGTH_COMPRESSION   (10.0)
 

Enumerations

enum  NORM_PARAM_NAME { CharNormY, CharNormLength, CharNormRx, CharNormRy }
 

Functions

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

Macro Definition Documentation

#define LENGTH_COMPRESSION   (10.0)

Include Files and Type Defines

Definition at line 26 of file normfeat.h.

Enumeration Type Documentation

Enumerator
CharNormY 
CharNormLength 
CharNormRx 
CharNormRy 

Definition at line 28 of file normfeat.h.

Function Documentation

FLOAT32 ActualOutlineLength ( FEATURE  Feature)

Public Function Prototypes

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