69 LIST RemainingOutlines;
77 RemainingOutlines = Outlines;
127 Delta.
x =
XDelta (*Start, *End) / NumFeatures;
128 Delta.
y =
YDelta (*Start, *End) / NumFeatures;
131 Center.
x = Start->
x + Delta.
x / 2.0;
132 Center.
y = Start->
y + Delta.
y / 2.0;
135 for (i = 0; i < NumFeatures; i++) {
182 &(
PointAt(Next)->Point), FeatureSet);
187 while (Current != First);
235 blob,
false, &local_fx_info, &bl_features);
236 if (
sample == NULL)
return NULL;
238 int num_features =
sample->num_features();
241 for (
int f = 0; f < num_features; ++f) {
267 blob,
false, &local_fx_info, &bl_features);
268 if (
sample == NULL)
return NULL;
const FEATURE_DESC_STRUCT IntFeatDesc
TESS_API const FEATURE_DESC_STRUCT PicoFeatDesc
FLOAT32 NormalizedAngleFrom(FPOINT *Point1, FPOINT *Point2, FLOAT32 FullScale)
FEATURE_SET ExtractIntCNFeatures(const TBLOB &blob, const INT_FX_RESULT_STRUCT &fx_info)
#define NextPointAfter(E)
void ConvertSegmentToPicoFeat(FPOINT *Start, FPOINT *End, FEATURE_SET FeatureSet)
TrainingSample * BlobToTrainingSample(const TBLOB &blob, bool nonlinear_norm, INT_FX_RESULT_STRUCT *fx_info, GenericVector< INT_FEATURE_STRUCT > *bl_features)
void ConvertToPicoFeatures2(MFOUTLINE Outline, FEATURE_SET FeatureSet)
FLOAT32 DistanceBetween(FPOINT A, FPOINT B)
void NormalizePicoX(FEATURE_SET FeatureSet)
FEATURE_SET ExtractIntGeoFeatures(const TBLOB &blob, const INT_FX_RESULT_STRUCT &fx_info)
BOOL8 AddFeature(FEATURE_SET FeatureSet, FEATURE Feature)
#define DegenerateOutline(O)
void FreeOutlines(LIST Outlines)
FEATURE_SET ExtractPicoFeatures(TBLOB *Blob)
LIST ConvertBlob(TBLOB *blob)
FEATURE NewFeature(const FEATURE_DESC_STRUCT *FeatureDesc)
FEATURE_SET NewFeatureSet(int NumFeatures)
void NormalizeOutlines(LIST Outlines, FLOAT32 *XScale, FLOAT32 *YScale)
double classify_pico_feature_length
#define double_VAR(name, val, comment)
#define MAX_PICO_FEATURES