tesseract  5.0.0-alpha-619-ge9db
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

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

Macro Definition Documentation

◆ LENGTH_COMPRESSION

#define LENGTH_COMPRESSION   (10.0)

Include Files and Type Defines

Definition at line 26 of file normfeat.h.

Enumeration Type Documentation

◆ NORM_PARAM_NAME

Enumerator
CharNormY 
CharNormLength 
CharNormRx 
CharNormRy 

Definition at line 28 of file normfeat.h.

Function Documentation

◆ ActualOutlineLength()

float ActualOutlineLength ( FEATURE  Feature)

Public Function Prototypes

Return the length of the outline in baseline normalized form.

Definition at line 31 of file normfeat.cpp.

32  {
33  return (Feature->Params[CharNormLength] * LENGTH_COMPRESSION);

◆ 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 60 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;
AddFeature
bool AddFeature(FEATURE_SET FeatureSet, FEATURE Feature)
Definition: ocrfeatures.cpp:39
FEATURE_STRUCT
Definition: ocrfeatures.h:58
MF_SCALE_FACTOR
const float MF_SCALE_FACTOR
Definition: mfoutline.h:70
INT_FX_RESULT_STRUCT::Ry
int16_t Ry
Definition: intfx.h:37
INT_FX_RESULT_STRUCT::Ymean
int16_t Ymean
Definition: intfx.h:36
INT_FX_RESULT_STRUCT::Rx
int16_t Rx
Definition: intfx.h:37
CharNormLength
Definition: normfeat.h:29
LENGTH_COMPRESSION
#define LENGTH_COMPRESSION
Definition: normfeat.h:26
FEATURE_STRUCT::Params
float Params[1]
Definition: ocrfeatures.h:60
NewFeature
FEATURE NewFeature(const FEATURE_DESC_STRUCT *FeatureDesc)
Definition: ocrfeatures.cpp:77
FEATURE_SET_STRUCT
Definition: ocrfeatures.h:64
CharNormDesc
const FEATURE_DESC_STRUCT CharNormDesc
NewFeatureSet
FEATURE_SET NewFeatureSet(int NumFeatures)
Definition: ocrfeatures.cpp:93
INT_FX_RESULT_STRUCT::Length
int32_t Length
Definition: intfx.h:35
CharNormY
Definition: normfeat.h:29
kBlnBaselineOffset
const int kBlnBaselineOffset
Definition: normalis.h:24
CharNormRx
Definition: normfeat.h:29
CharNormRy
Definition: normfeat.h:29