tesseract  4.00.00dev
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

◆ ActualOutlineLength()

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

◆ ExtractCharNormFeatures()

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 61 of file normfeat.cpp.

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