src/classify/normfeat.cpp
FEATURE_SET ExtractCharNormFeatures(const INT_FX_RESULT_STRUCT &fx_info) {
  auto feature_set = new FEATURE_SET_STRUCT(1);
  auto feature = new FEATURE_STRUCT(&CharNormDesc);

  feature->Params[CharNormY] = MF_SCALE_FACTOR * (fx_info.Ymean - kBlnBaselineOffset);
  feature->Params[CharNormLength] = MF_SCALE_FACTOR * fx_info.Length / LENGTH_COMPRESSION;
  feature->Params[CharNormRx] = MF_SCALE_FACTOR * fx_info.Rx;
  feature->Params[CharNormRy] = MF_SCALE_FACTOR * fx_info.Ry;

  AddFeature(feature_set, feature);

  return feature_set;
}
/**
 * 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]
 */
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 ..

- Params[CharNormY]
- The y coordinate of the grapheme's centroid.

- Params[CharNormLength]
- The length of the grapheme's outline (tiny segments discarded),
divided by 10.0=LENGTH_COMPRESSION.

- Params[CharNormRx]
- The radius of gyration about the x axis, as measured from CharNormY.

- Params[CharNormRy]
- The radius of gyration about the y axis, as measured from
the x center of the grapheme's bounding box.
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 .. - Params [ CharNormY ] - The y coordinate of the grapheme ' s centroid . - Params [ CharNormLength ] - The length of the grapheme ' s outline ( tiny segments discarded ) divided by 10 . 0 = LENGTH_COMPRESSION . - Params [ CharNormRx ] - The radius of gyration about the x axis as measured from CharNormY . - Params [ CharNormRy ] - The radius of gyration about the y axis as measured from the x center of the grapheme ' s bounding box .
FEATURE_SET ExtractCharNormFeatures(const INT_FX_RESULT_STRUCT &fx_info) {
  auto feature_set = new FEATURE_SET_STRUCT(1);
  auto feature = new FEATURE_STRUCT(&CharNormDesc);
  feature->Params[CharNormY] = MF_SCALE_FACTOR * (fx_info.Ymean - kBlnBaselineOffset);
  feature->Params[CharNormLength] = MF_SCALE_FACTOR * fx_info.Length / LENGTH_COMPRESSION;
  feature->Params[CharNormRx] = MF_SCALE_FACTOR * fx_info.Rx;
  feature->Params[CharNormRy] = MF_SCALE_FACTOR * fx_info.Ry;
  AddFeature(feature_set, feature);
  return feature_set;
}
FEATURE_SET ExtractCharNormFeatures ( const INT_FX_RESULT_STRUCT & fx_info ) { auto feature_set = new FEATURE_SET_STRUCT ( 1 ) ; auto feature = new FEATURE_STRUCT ( & CharNormDesc ) ; feature -> Params [ CharNormY ] = MF_SCALE_FACTOR * ( fx_info . Ymean - kBlnBaselineOffset ) ; feature -> Params [ CharNormLength ] = MF_SCALE_FACTOR * fx_info . Length / LENGTH_COMPRESSION ; feature -> Params [ CharNormRx ] = MF_SCALE_FACTOR * fx_info . Rx ; feature -> Params [ CharNormRy ] = MF_SCALE_FACTOR * fx_info . Ry ; AddFeature ( feature_set , feature ) ; return feature_set ; }
Return the character normalization feature for a blob.
Return the character normalization feature for a blob .