tesseract  4.0.0-1-g2a2b
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

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

Function Documentation

◆ ActualOutlineLength()

float 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 }
float Params[1]
Definition: ocrfeatures.h:62
#define LENGTH_COMPRESSION
Definition: normfeat.h:27

◆ 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)
Definition: ocrfeatures.cpp:97
#define MF_SCALE_FACTOR
Definition: mfoutline.h:64
const int kBlnBaselineOffset
Definition: normalis.h:25
float Params[1]
Definition: ocrfeatures.h:62
#define LENGTH_COMPRESSION
Definition: normfeat.h:27
FEATURE NewFeature(const FEATURE_DESC_STRUCT *FeatureDesc)
Definition: ocrfeatures.cpp:81
int32_t Length
Definition: intfx.h:36
const FEATURE_DESC_STRUCT CharNormDesc
int16_t Ymean
Definition: intfx.h:37
bool AddFeature(FEATURE_SET FeatureSet, FEATURE Feature)
Definition: ocrfeatures.cpp:41